counter

2009/09/27

数値積分の利用

この半年はソフト開発についていえば、楕円に関する問題にかかりきりでした。ガウス-レジャンドル法の活用方法を理解することでようやく決着がついた。きっかけは、楕円の弧長計算について、シンプソンの数値計算の結果の誤差があまりにも大きすぎるという指摘がユーザーからあったことですが、それがほぼ一ヶ月前のことですから、本腰を入れたのはそれからということになります。上記のように数値積分には2通りの方式が主たる計算法ですが、精度といい速度といいガウス-レジャンドル法が優れているのに、何故か、一般に参考書の記述はシンプソン法が主体となっている。おそらくはガウス-レジャンドル法の積分点の精度とか重み係数とかそういうデータが限られているのが原因なのだと思います。それにしてもガウス-レジャンドル法の利用の威力は癖の強い関数でも的確に対応できることだろう。ガウス-レジャンドル法のアプローチとして下記URLはとても参考になった。ただ、そこのURLの説明に大きな抜けがあるために随分と回り道を食ってしまった。この抜けを調べるよりは当方のフリーソフト(ガウス-レジャンドル法の積分点と重みを求める)を利用される方が効率的です。プログラムコードを公開しているのでそのコードと上記参考URLのコードの違いを探したほうがよい。
参考URL:http://homepage1.nifty.com/gfk/Gauss_Legendre.htm
当方の作成したソフトの説明:
http://m-sudo.blogspot.com/2009/09/blog-post_528.html

0 件のコメント: