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

1 次查看(过去 30 天)
the ODE system is like that : y'(1)=y(2); Y'(2)=k1Y(3)+k2Y(2); Y'(3)=k3Y(4); Y'(4)=k4Y(2);

回答(1 个)

Amit
Amit 2014-2-2
编辑:Amit 2014-2-2
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

类别

Help CenterFile Exchange 中查找有关 Ordinary Differential Equations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by