第7回課題2の解答(例)

(tex 版 psfile)
diffeq.c において、指定された値(表1)を入れて計算した結果を 一つのグラフに重ねて描くと図1のようになる。 この図から計算時間間隔 dt と計算精度の関係について次の事が分かる。
  1. dt が 0.01の場合は、解析的計算結果との誤差が目立つ。
  2. dt が 1e-3 から 1e-7 は、グラフ上はほとんど重なっていおり、 解析的計算結果との誤差が非常に小さい事がわかる。
  3. dt が 1e-8 では、再び誤差が増えており不自然な結果が得られている。
  4. dt が 1e-9 では、初期値から全く変化しない明らかに誤った結果に なっている。
計算時間間隔 0.01 秒では誤差が若干大きく、 1e-3 秒から1e-7 秒は、解析結果との誤差がほとんど見られない。 このことから、計算に要する時間も考慮すると、これらの値の中では、 1e-3 秒が計算時間間隔が最適と考えられる。
この微分方程式をオイラー法で解く場合には演習での時定数 1秒 の場合の結果とあせて考えると、時定数の 100 分の1 程度の時間間隔が 適当と考えられる。
(補足:ここで示した最適な計算時間間隔の値は絶対的なものでは無く、 一般には結果の利用目的によって異なる。)
表1 : 計算条件
入力項目 単位 Value
時定数 0.1
電圧源 V 0
初期値 V 10
計算時間 0.1
計算時間間隔 0.01 1e-3 1e-6 1e-7 1e-8 1e-9
表示時間間隔 0.01


図1 : 各解法による計算結果の比較(epsfile)