comparison +time/Rungekutta4.m @ 984:0585a2ee7ee7 feature/timesteppers

Inline the rk.rungekutta_4 function.
author Jonatan Werpers <jonatan@werpers.com>
date Tue, 08 Jan 2019 12:19:33 +0100
parents b89379fb0814
children a99f00896b8e
comparison
equal deleted inserted replaced
983:b89379fb0814 984:0585a2ee7ee7
24 v = obj.v; 24 v = obj.v;
25 t = obj.t; 25 t = obj.t;
26 end 26 end
27 27
28 function obj = step(obj) 28 function obj = step(obj)
29 obj.v = time.rk.rungekutta_4(obj.v, obj.t, obj.dt, obj.F); 29 v = obj.v;
30 dt = obj.dt;
31
32 k1 = obj.F(t, v);
33 k2 = obj.F(t + 0.5*dt, v + 0.5*dt*k1);
34 k3 = obj.F(t + 0.5*dt, v + 0.5*dt*k2);
35 k4 = obj.F(t + dt, v + dt*k3);
36
37 obj.v = v + dt*(1/6)*(k1+2*(k2+k3)+k4);
30 obj.t = obj.t + obj.dt; 38 obj.t = obj.t + obj.dt;
31 obj.n = obj.n + 1; 39 obj.n = obj.n + 1;
32 end 40 end
33 end 41 end
34 42