|
|
function yout = runge_kutta(fun,t,yin,varargin)8 j; }6 G; ?& J! x. c, [4 F1 D, d
t_interval = t(2)-t(1);, o8 {! q; o( j e" C! m5 S
k1 = t_interval*fun(t(1),yin,varargin);& \. e& l+ X" X/ `6 t; O
k2 = t_interval*fun(t(1)+t_interval/2,yin+k1/2varargin);) z7 u! t! R7 q
k3 = t_interval*fun(t(1)+t_interval/2,yin+k2/2,varargin);! Y. G) x( Y4 N2 J7 D M
k4 = t_interval*fun(t(1)+t_interval,yin+k3,varargin);9 j: M7 I: \4 A8 y
yout = yin+(k1+2*k2+2*k3+k4)/6;
$ z4 v" |0 r: F) s+ t2 n+ pend |
|