情報通信工学科 コンピュータ数値解析(学内専用) 担当:中川朋子

真の値がわからないときの誤差の求めかた
誤差は、ふつう(誤差)=(計算値)−(真の値) で求めますよね。

では、真の値がわからないとき、 どうやって、誤差や、最適な刻み数を求めたらいいでしょうか。

台形公式なら、誤差は、刻み幅の2乗に比例しますよね。

(刻み幅 h で求めた計算値)− (真の値)=(その刻み幅h)の2乗に比例

比例定数を適当にcとおくと

(刻み幅 hで求めた計算値)− (真の値)=c h2    ・・・・・・(a)

刻み幅が 2h と粗かったときの計算では

(刻み幅 2h で求めた計算値)− (真の値)=c (2h)2   ・・・・・・(b)

(b)から(a)を引いて (真の値) を消去すれば

(粗い刻み幅2hで求めた計算値)(半分の刻み幅hで求めた計算値)= c (2h)2 - c h2
つまり
(粗い刻み幅2hで求めた計算値)(半分の刻み幅hで求めた計算値)= 3 ch2  ・・・・・・(3)

式(c)の右辺も、刻み幅hの2乗に比例してます。
刻み幅を半分、半分にしながら、 「誤差」の代わりに「前の計算結果との差」を毎回調べ、
これが 1/4、1/4、、になっていっていれば、
台形公式がうまくいっている、と言えるのです。 ←真の値がわからないときの最適な刻み数の求めかた

また、式(c)の右辺を3で割れば、式(b)の右辺と同じになります!これって誤差ですよね。
つまり、 「前の(2倍粗いときの)計算結果との差」を3で割ると、 誤差が求まるのです。

表の書き方(例)
n計算値前回との差誤差
641.2345685 (n= 32の時の計算値) - (n= 64の時の計算値)左の欄を3で割ると誤差がわかる
1281.2345621 (n=64の時の計算値) - (n=128の時の計算値)
2561.2345605 (n=128の時の計算値) - (n=256の時の計算値)
5121.2345601 (n=256の時の計算値) - (n=512の時の計算値)
10241.2345603 (n=512の時の計算値) - (n=1024の時の計算値)

この欄が 1/4、1/4、になっていればOK
崩れだしたら区関数多すぎ

この表を 横軸を「区関数」に、縦軸を「前の計算結果との差」の両対数目盛のグラフに書いて、
1/4、1/4、ルールの崩れる直前の刻み数を使えばよい。
その時の積分値を用い、誤差を求め、誤差の範囲内で積分結果を書くのが正しい。

さらに、求めた誤差を式(b)に代入すれば、(真の値)も推定できてしまうのです。
(この技を「リチャードソン補外」といいます。)
台形公式の課題のページに戻る