Bonjour,
J'essaie de résoudre numériquement l'équation différentielle suivante :
Et j'ai besoin d'avoir la solution en fonction des deux paramètres c_x et c_y. Je ne suis pas sûre que ce soit possible en utilisant un solveur numérique, mais je n'arrive pas à avoir de solution analytique compatible avec mes conditions initiales, et matlab m'indique de résoudre plutôt numériquement.
Voilà mon code :
Dans lequel je n'ai pas encore intégré de conditions initiales.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 syms y(t) cx cy ; eqn=diff(y,t,2)==-cy*sin(y)-cx*cos(y); [eqs,vars] = reduceDifferentialOrder(eqn,y(t)); %pour écrire le système [M,F] = massMatrixForm(eqs,vars); M = odeFunction(M,vars); F = odeFunction(F,vars,cx,cy); F=@(t,Y)F(t,Y,cx,cy); t0=0; y0=0; yp0=0; opt = odeset('mass',M,'InitialSlope',yp0); ode15s(F,[0 1],y0,opt)
Je ne comprends pas vraiment ce qui ne marche pas, et en fait je ne suis pas du tout familière de ces fonctions.
Est-ce que quelqu'un aurait une idée ?
Merci !
Partager