Gauss積分 その1
今回はGauss積分のサンプリング点の位置と重み値を計算してみます
ここで言うGauss積分は数値積分のことで,Gauss関数exp(-x^2)の無限積分のことではありません(´・ω・`)
積分区間は写像されることを前提として自然座標系-1〜1とします
久田俊明,野口裕久共著「非線形有限要素法の基礎と応用」165頁[3.5.3]をフォローします
gauss quadrature1.wxm
n : サンプリング点の数
%i1にてパッケージ"interpol"をロードします(画面出力は省略)
サンプリング点が4点の場合を考えます(%o2)
legendre_p関数を使って4次のルジャンドル多項式を計算します(%o3)
上式を解いた根の実部(real part)をサンプリング点位置x[i]として%o4式に示します
(実部を取っているのは6次以上のルジャンドル多項式の根が複素数となるためで,n < 6 であれば不要です)
数値で表示し直したものを%o5式に示します
以後の計算はNewton-Cotes積分とほぼ同じですが一応・・・
サンプリング点位置x[i]と評価値f[i]の配列pを%o6式に示します
この配列からlagrange関数を使ってラグランジュの補間多項式Lを計算します(%o7)(画面出力は省略)
Lの各サンプリング点の評価値f[i]についての係数配列hを%o8式に示します
それぞれのh[i]を区間[-1〜1]で積分した配列を重み値wとして%o9式に示します
数値で表示し直したものを%o10式に示します
重み値wの総和は 2(区間長さ)となります(%o11)
Gauss積分における各サンプリング点での位置(左列)と重み値(右列)を以下にまとめます
n = 1 0 2 n = 2 -1/sqrt(3) 1 1/sqrt(3) 1 n = 3 -sqrt(3/5) 5/9 sqrt(3/5) 5/9 0 8/9 n = 4 -0.86113631159405 0.34785484513745 0.86113631159405 0.34785484513745 -0.33998104358486 0.65214515486255 0.33998104358486 0.65214515486255 n = 5 -0.90617984593866 0.23692688505619 0.90617984593866 0.23692688505619 -0.53846931010568 0.47862867049937 0.53846931010568 0.47862867049937 0.00000000000000 0.56888888888889 n = 6 -0.93246951420315 0.17132449237917 0.93246951420315 0.17132449237917 -0.2386191860832 0.46791393457269 0.2386191860832 0.46791393457269 -0.66120938646626 0.36076157304814 0.66120938646626 0.36076157304814 n = 7 -0.94910791234276 0.12948496616887 0.94910791234276 0.12948496616887 -0.4058451513774 0.38183005050512 0.4058451513774 0.38183005050512 -0.74153118559939 0.27970539148928 0.74153118559939 0.27970539148928 0.00000000000000 0.41795918367347
- 作者: 久田俊明,野口裕久
- 出版社/メーカー: 丸善
- 発売日: 1996/01/01
- メディア: 単行本
- クリック: 3回
- この商品を含むブログを見る