Mercurial > repos > public > sbplib
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 |