振り子の支点を振り回す 2

f:id:ti-nspire:20160126094842j:plain:w500

lua から呼びやすいよう、nspire のユーザー定義函数にまとめる。
減衰係数 c は、参考文献と同じく 0.1 とする。rk23() の精度は指定しない(デフォルト値を使う)。
重りの x 座標、y 座標も nspire 側で計算してしまうことにする。


引数は (棒の長さ, 支点の x 軸方向の加速度, 支点の y 軸方向の加速度, 初期角度, 初期角速度, Δt)
戻り値は {Δt 時間後の角度, Δt 時間後の角速度, Δt 時間後の x 座標, Δt 時間後の y 座標}
f:id:ti-nspire:20160126095110j:plain


実行結果:
棒の長さ 1 メートルの振り子を 0.5 ラジアンの角度から勢いをつけずに放したときの、2 秒後の角度、角速度、x 座標、y 座標を計算している。
支点は固定したままである。
f:id:ti-nspire:20160126095958j:plain