Bonjour,
je veux utilisé la fonction ode23 pour résoudre l'équation suivante:
y’’+2y’+y = 2e-x avec y(0)=3 et y’(0)=1
j'ai trouver pas mal de doc sur ça mais j'ai rien compris, pouvez vous me donner un exemple d'application de cette fonction
Bonjour,
je veux utilisé la fonction ode23 pour résoudre l'équation suivante:
y’’+2y’+y = 2e-x avec y(0)=3 et y’(0)=1
j'ai trouver pas mal de doc sur ça mais j'ai rien compris, pouvez vous me donner un exemple d'application de cette fonction
Bonjour,
Voici un exemple classique d'utilisation de ode23 :
L'idée es de faire un changement de variable afin de ramener le système à l'ordre un :
Y2’’+2y2’+y2=2e-x
On pose :
Y’2=y1
On a alors le système :
Y’1=-2y1-y2+2e-x
Y’2=y1
Initialisation :
Y2(0)=3
Y’2(0)=1
Le système est programmé avec un sous programme function :
Le programme principal :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 function dy=eqdo2(x,y) dy(1,:)=-2.*y(1)-y(2)+2.*exp(-x); dy(2,:)=y(1);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 clear [x,y]=ode23('eqdo2',[0 10],[3 1]); figure(2) plot(x,y) grid![]()
Merci infiniment pour ta réponse, c'est bon, mon pb est résolu, merci.
Bonjour,
Il faut faire très attention à l'initialisation.
Ici cela doit être [1 3], ce qui correspond mieux sur les courbes.
Remarque :
Si ru as accès à MuPAD Notebook dans les menus de Matlab tu as aussi la solution :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 ode(-2*exp(-x)+y(x)+diff(y(x),x,x)+2*diff(y(x),x),y(x)); solve(%); f:=solve(ode({2*exp(-x)-y(x)-diff(y(x),x,x)-2*diff(y(x),x),y(0)=3,y'(0)=1},y(x))); plotfunc2d(f[1], x = 0..10,GridVisible);![]()
Partager