How to resolve ODE system in Matlab using numerical method Runge-Kuta?

1 visualizzazione (ultimi 30 giorni)
the ODE system is like that : y'(1)=y(2); Y'(2)=k1Y(3)+k2Y(2); Y'(3)=k3Y(4); Y'(4)=k4Y(2);

Risposte (1)

Amit
Amit il 2 Feb 2014
Modificato: Amit il 2 Feb 2014
First You'll have to make a function for your problem. This function take (time and Y) and will return dy
function dy = myfunc(t,y)
dy = zeros(size(y));
% Define k1 etc
k1 = 1;
k2 = 1;
k3 = 1;
k4 = 1;
dy(1) = y(2);
dy(2)=k1*Y(3)+k2*Y(2);
dy(3)=k3*Y(4);
dy(4)=k4*Y(2);
Now you can solve it using ode45 (RK45) solver like
Y0 = [0 1 1 1]; % Intial Value
[T,Y] = ode45(@myfunc,[0 12],Y0);
For moredetails on ode45 and other ode solvers: http://www.mathworks.com/help/matlab/ref/ode45.html

Community Treasure Hunt

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

Start Hunting!

Translated by