Salut tous le monde,

Je suis nouveau sur Matlab et j'ai vraiment besoin de l'aide.
En effet je dois résoudre une équation différentiel du second degré qui n'obéit à aucune loi:

y'' = -9.8 + 2.*(sqrt( 1 + y^2) + 5).* cos(atan( y/2) + pi./4) ;

Avec y'' la dérivé seconde de y
j'ai utiliser le code dans f11.m :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
function dy=f11(t,y) ;
 
% Equation différentielle du 2ème ordre
 
dy(1) = -9.8 + 2.*(sqrt( 1 + y(2).^2) + 5).* cos(atan( y(2)./2) + pi./4) ;
dy(2) = y(1) ;
et

Code : Sélectionner tout - Visualiser dans une fenêtre à part
>> [t,y]=ode23('f11' ,[0 10] ,[0 2])
Dans command Window.

Mais à chaque fois je reçois ce message d'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
??? Error using ==> odearguments at 113
F11 must return a column vector.
 
Error in ==> ode23 at 172
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0,
odeArgs, odeFcn, ...
Alors si quelqu'un connait comment je pourrais résoudre ce problème ou juste avoir une autre méthode de résolution sa sera trop bien.

Merci bien pour votre aide.

Thanks for your help.