運動方程式(5)(6)を、プログラムのなかに、 コメントとして書いておくべきである。 たとえば次のように:
C 運動方程式 C (d/dt)theta = L … (5) C (d/dt)L = Torq = -sin(theta) … (6)
そして、変数名は、なるべく運動方程式に合わせる。
今の場合だと、
x
や v
や a
ではなく、
theta
と L
と Torq
を
用いるべきである。
どうしてもx
を使いたい場合は、プログラムのなかに
「θ→ x とする
」というコメント文を書いておく。
プログラム例4では、
「initial condition: θ,L =
」と出力しておきながら、
xinit
とvinit
を
入力している (本来はth_init
やLinit
であるはず)。
このように、変数の名前が一致しないのは、バグのもとである。
ただ、メインルーチンの変数を変えるたびに 入力サブルーチンを書き直すのも面倒なので、 あるていど汎用的なサブルーチンを作っておくと あとが楽である。 たとえば get.f を ダウンロードしておいて、自分のプログラムでは次のように書く:
call get2r('initial condition: θ, L =', th_init, Linit)
call get2r('dt, tmax =', dt, tmax)
コンパイルするときは、次のようにすれば良い:
% g77 自分のプログラム.f get.f -o 自分のプログラム
ブラウザの「戻る」ボタンで戻ってください。
[講評一覧]