1
Runge-Kuttaメソッドを2次ODEに適用する
オイラー法をルンゲ・クッタの4次に置き換えて、一定の重力ではない自由落下運動(たとえば、地上1万kmからの自由落下)を決定する方法を教えてください。 これまで、オイラー法による簡単な統合を書きました。 while() { v += getMagnitude(x) * dt; x += v * dt; time += dt; } x変数は現在位置、vは速度、getMagnitude(x)はx位置の加速度を返します。 私はRK4を実装しようとしました: while() { v += rk4(x, dt) * dt; // rk4() instead of getMagintude() x += v * dt; time += dt; } ここで、rk4()関数本体は次のとおりです。 inline double rk4(double tx, double tdt) { …