Mercurial > repos > public > sbplib
annotate +time/+rk/rungekutta_4.m @ 1142:cff49fba3cc8 rv-interpolation
Closing branch
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Mon, 05 Aug 2019 10:49:21 +0200 |
parents | c6fcee3fcf1b |
children |
rev | line source |
---|---|
846
c6fcee3fcf1b
Add generalized RungeKutta and RungeKuttaRV class which extracts its coefficients from a butcher tableau, specified on the scheme.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
1 % Takes one time step of size dt using the rungekutta method |
0 | 2 % starting from v_0 and where the function F(v,t) gives the |
3 % time derivatives. | |
846
c6fcee3fcf1b
Add generalized RungeKutta and RungeKuttaRV class which extracts its coefficients from a butcher tableau, specified on the scheme.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
4 function v = rungekutta_4(v, t , dt, F) |
0 | 5 k1 = F(v ,t ); |
846
c6fcee3fcf1b
Add generalized RungeKutta and RungeKuttaRV class which extracts its coefficients from a butcher tableau, specified on the scheme.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
6 k2 = F(v+0.5*dt*k1,t+0.5*dt); |
c6fcee3fcf1b
Add generalized RungeKutta and RungeKuttaRV class which extracts its coefficients from a butcher tableau, specified on the scheme.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
7 k3 = F(v+0.5*dt*k2,t+0.5*dt); |
c6fcee3fcf1b
Add generalized RungeKutta and RungeKuttaRV class which extracts its coefficients from a butcher tableau, specified on the scheme.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
8 k4 = F(v+ dt*k3,t+ dt); |
c6fcee3fcf1b
Add generalized RungeKutta and RungeKuttaRV class which extracts its coefficients from a butcher tableau, specified on the scheme.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
9 v = v + (1/6)*(k1+2*(k2+k3)+k4)*dt; |
0 | 10 end |