運動方程式 を「立てた」あと、私たちは何をしているんだろう。式を立てただけでは、物体が次の瞬間どこにいるかは、まだ分からない。
運動方程式は「次の一歩」しか教えない
運動方程式が直接くれるのは、その瞬間の 加速度 だけだ。自由落下なら 。加速度は「速度がどう変わるか」を表すだけで、「いまどこにいるか」までは言ってくれない。
だから位置を知るには、こうするしかない。ごく短い時間 のあいだは加速度が一定だと信じて、一歩だけ未来を作る。そしてそれを繰り返す。
更新ループ:a → v → x
状態 (時刻 での位置 ・速度 )から、次の状態へ進む手順はこうだ。
加速度から速度を更新し、速度から位置を更新し、 してまた繰り返す。これだけ。この素朴な反復が 数値積分(いちばん簡単な形=オイラー法)だよ。運動方程式は「次の一歩」しかくれないけれど、一歩を積み重ねれば未来全体が描ける。
ひとつ注意。位置を進めるのに使うのは、その区間の 古い速度 のほう( ではない)。「いまの速さで だけ進む」と考えるのが素直だね。
触ってみる
下のデモは、自由落下をこのループで1コマずつ解いていくところ。「1ステップ進める」を押すと、a → v → x が順に光る。再生すると、速度の矢印は毎回同じだけ伸び、位置の増え方はどんどん大きくなる ── これが「加速」だ。
Δt を小さくすると、厳密解に近づく
このループは近似だ。 が大きいとカクカクした折れ線になり、小さくすると点の列がなめらかになって、本当の答えに寄っていく。自由落下の厳密解は
で、デモでも「点=近似」「薄い線=厳密」を重ねてある。 を と刻むほど、両者が重なっていくのが見えるはずだ。
ループを縮めたものが「積分」
「加速度を求める → 微小時間後の速度と位置を出す → また加速度を…」── この反復を、無限に細かくした極限で一気に書いてしまう数学が、解析的な 積分 だ。
紙の上で閉じた式に縮約できるなら、それがいちばん速い。でも現実の運動方程式は、空気抵抗や複雑な力が入ると手では積分できないことのほうが多い。そのときは、このデモがやっているように、計算機に ずつ泥臭く積み上げてもらう。数値積分は、積分が解けないときの「力技だけど確実な」やり方なんだ。
同じループで、もっと色々解ける
このループの強いところは、運動が変わっても「加速度の決め方」を差し替えるだけで済むこと。上のデモの「運動」セレクトで切り替えられる。
空気抵抗 ── 速度に比例する抵抗があると、加速度は一定じゃなくなる:
速くなるほど加速度が減り、やがて になって速度が一定になる。これが終端速度 だ。式が を含むぶん手で積分するのは少し面倒だけど、ループのほうは「その瞬間の を で計算する」一行を変えるだけ。終端速度に寝ていく曲線が、そのまま出てくる。
斜方投射(2次元) ── 多次元でも、やることは同じ。水平と鉛直に分けて、それぞれに同じループをかけるだけ:
水平は等速( 一定)、鉛直だけが重力で変わる。2つを合わせると、あの放物線が点の列として描かれていく。「2次元の運動」も、結局は「1次元のループ × 成分の数」なんだ。
ここが数値積分の効きどころだよ。手で積分できる素直な問題(自由落下)から、面倒な問題(空気抵抗)、多次元(斜方投射)まで、同じ1つのループで通せる。複雑な現実の運動を計算機が解けるのは、この素朴さのおかげなんだ。
関連:「何が運動を一意に決めるのか(自由度と束縛条件)」は 運動方程式ラボ で触れている。あちらが “何が運動を決めるか”、この記事が “決まった運動をどう解くか” の対になっているよ。