ode45 with two 2nd order differential equation

1.PNG
Here I have two differential equations and I want to solve it using ode45
2.PNG
I am asked to convert the two 2nd order equations to 4 first-order equations which are suitable for ode45.

Réponses (5)

Steven Lord
Steven Lord le 11 Mai 2019

0 votes

See the Higher-Order ODEs example on this documentation page and use the technique it illustrates to turn your system of two second order ODEs into a system of four first order ODEs.
'first make the function file'
function xval = pulfun(t,y)
%constant
u=0.012277471;
%define dy/dt
xval(1,1)=y(3);
xval(2,1)=y(4);
xval(3,1)=y(1)+2*y(4)-(1-u)*(y(1)+u)/((y(1)+u)^2+y(2)^2)^(1.5)-u*(y(1)-1+u)/((y(1)-1+u)^2+y(2)^2)^(1.5);
xval(4,1)=y(2)-2*y(3)-(1-u)*y(2)/((y(1)+u)^2+y(2)^2)^(1.5)-u*(y(2))/((y(1)-1+u)^2+y(2)^2)^(1.5);
end
'(then write a script file for use of ode45)'
y0=[0.994;0;0;-2.00158];
tspan=[10 40];
[tsol,ysol]=ode45(@(t,y) pulfun(t,y),tspan,y0);
plot(tsol,ysol)
i used my own terms. You can use your.

1 commentaire

darova
darova le 19 Mai 2020
Better be to separate and to make expressions clearer

Connectez-vous pour commenter.

Stephane Sarrete
Stephane Sarrete le 21 Nov 2020

0 votes

Hello,
Please, I don't understand what the y (1), y (2), y (3) and y (4) represent in the function definition. Can be stupid question but I really do not understand. Thank you for helping me.

1 commentaire

Stephan
Stephan le 21 Nov 2020
Since 2 ode of order 2 are transformed into 4 ode of order 1, the 4 different entries of the y-vector represent the 4 four unknowns, to solve for.

Connectez-vous pour commenter.

Stephane Sarrete
Stephane Sarrete le 21 Nov 2020

0 votes

Thanks so much for the help, I'll think about it.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by