可変ステップ サイズの ODE 問題を解くために、 deSolve R パッケージの明示的なルンゲクッタ法ode45 (別名 rk45dp7)を使用したいと考えています。
deSolve のドキュメントによると、等距離時間ステップの代わりに ode45 メソッドを使用してrkソルバー関数に適応または可変時間ステップを使用することは可能ですが、これを行う方法がわかりません。
rk 関数は次のように呼び出されます。
rk(y, times, func, parms, rtol = 1e-6, atol = 1e-6, verbose = FALSE, tcrit = NULL,
hmin = 0, hmax = NULL, hini = hmax, ynames = TRUE, method = rkMethod("rk45dp7", ... ),
maxsteps = 5000, dllname = NULL, initfunc = dllname, initpar = parms, rpar = NULL,
ipar = NULL, nout = 0, outnames = NULL, forcings = NULL, initforc = NULL, fcontrol =
NULL, events = NULL, ...)
timesは、y の明示的な推定が必要な時間のベクトルです。
距離が 0.01 の等間隔の時間ステップの場合、時間は次のように記述できます。
times <- seq(0, 100, 0.01)
0 から 100 までの間隔の方程式を解きたいとすると、ステップ サイズを指定せずに時間を定義するにはどうすればよいでしょうか?
どんな助けでも大歓迎です。