###前提・実現したいこと
0.1秒ごとの自由落下でボールを落とすプログラムを作りました。
このプログラムをオイラー法また、ルンゲクッタ法ではどのように書かれるのでしょうか。
###該当のソースコード
C
1#include <stdio.h> 2 3int main(void) 4{ 5int i; 6const double g = 9.8; /* 重力加速度 */ 7double t; /* 時刻 */ 8double x; /* 落下距離 */ 9 10for (i = 0; i < 50; i++) { 11t = i / 10.0; /* 1/10刻み */ 12x = g * t * t / 2.0; 13printf("t = %.1f x = %f\n", t, x); 14} 15 16return (0); 17}
あえてルンゲクッタ法とオイラーに当てはめるとすれば、ルンゲクッタ法の1段1次の公式に当てはめれば前進オイラー法と等価になるので。これならば公式は'y(n+1) = y(n)+hf(t(n),y(n))'で直感的に分かるでしょう。

回答1件
あなたの回答
tips
プレビュー