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

조회 수: 1 (최근 30일)
Patrick
Patrick 2014년 2월 2일
편집: Amit 2014년 2월 2일
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