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

3 Ansichten (letzte 30 Tage)
Patrick
Patrick am 2 Feb. 2014
Bearbeitet: Amit am 2 Feb. 2014
the ODE system is like that : y'(1)=y(2); Y'(2)=k1Y(3)+k2Y(2); Y'(3)=k3Y(4); Y'(4)=k4Y(2);

Antworten (1)

Amit
Amit am 2 Feb. 2014
Bearbeitet: Amit am 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

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by