ガウス・ルジャンドル求積(数値積分)計算
f(x) と区間 [a, b]、次数 n を入力すると、ガウス・ルジャンドル求積で定積分 ∫f(x)dx を高精度に数値計算します。分点・重み・被積分値も表示。
入力
被積分関数 f(x)、積分区間 [a, b]、次数 n を入力すると、ガウス・ルジャンドル求積で定積分を計算します。
例: exp(-x^2)、sin(x)/x、x^2 + 1。使える関数・定数・演算子は計算方法を参照。
分点数(1〜256)
計算結果
積分値 ∫ f(x) dx
0.7468241328
区間 [0, 1]
次数 n
8
分点数
8
分点・重み・関数値
区間 [a, b] に変換済みの分点 x_i、重み w_i、関数値 f(x_i) を示します。
| # | 分点 x_i | 重み w_i | f(x_i) |
|---|---|---|---|
| 1 | 0.40828268 | 0.18134189 | 0.84645796 |
| 2 | 0.2372338 | 0.15685332 | 0.94527454 |
| 3 | 0.10166676 | 0.11119052 | 0.9897171 |
| 4 | 0.01985507 | 0.05061427 | 0.99960585 |
| 5 | 0.98014493 | 0.05061427 | 0.38263105 |
| 6 | 0.89833324 | 0.11119052 | 0.44619348 |
| 7 | 0.7627662 | 0.15685332 | 0.55888459 |
| 8 | 0.59171732 | 0.18134189 | 0.70459692 |
計算方法・使い方
- ガウス・ルジャンドル求積は、標準区間 [-1, 1] 上で n 次のルジャンドル多項式 P_n(x) の零点を分点 x_i とし、対応する重み w_i = 2 / ((1 - x_i^2)(P_n'(x_i))^2) を用いて、∫_{-1}^{1} g(t)dt ≈ Σ w_i g(x_i) と近似する数値積分法です。
- 任意区間 [a, b] へは線形変換 x = (b-a)/2・t + (a+b)/2、dx = (b-a)/2・dt を施し、∫_a^b f(x)dx ≈ (b-a)/2・Σ w_i f((b-a)/2・x_i + (a+b)/2) として計算します。
- n 個の分点を用いる本手法は、被積分関数が高々 2n-1 次の多項式であれば理論上は厳密に積分でき、なめらかな関数に対しては少ない分点数でも非常に高い精度が得られます。
- 分点(ルジャンドル多項式の零点)は、漸化式 (k+1)P_{k+1}(x) = (2k+1)xP_k(x) - kP_{k-1}(x) で多項式を評価しながら、近似初期値からニュートン法で反復的に求めています。零点の対称性を利用して計算しています。
- 関数式は eval などを使わず独立した数式パーサで解釈します。利用できる演算子は + - * / ^(冪)と丸括弧・単項マイナス・暗黙の乗算、定数は pi・e、関数は sin cos tan asin acos atan sinh cosh tanh exp log ln log10 sqrt cbrt abs です。
- 計算は倍精度浮動小数点で行われるため、丸め誤差の影響を受けます。被積分関数が区間内に特異点や急峻な振動を持つ場合、求積の精度が低下することがあります。
関連する計算ツール
ガウス・ルジャンドル分点・重み計算
数値解析次数nを入力すると、ガウス・ルジャンドル求積の分点x_iと重みw_i(標準区間[-1,1])を計算して一覧表示します。
計算する →ガウス求積 分点・重み計算(数値積分)
数値解析ガウス求積法(ルジャンドル・チェビシェフ・ラゲール・エルミート)の分点と重みを次数を指定して計算。任意の関数 f(x) の定積分もガウス・ルジャンドルで数値近似します。
計算する →ガウス・ヤコビ求積計算ツール
数値解析被積分関数 f(x)、次数 n、重みの指数 α・β を入力すると、ガウス・ヤコビ求積で ∫₋₁¹ f(x)(1−x)^α(1+x)^β dx を計算します。分点・重みは Golub-Welsch 法(三重対角行列の固有値分解)で求めます。
計算する →ガウス・ロバット求積(数値積分)計算
数値解析被積分関数 f(x)、区間 [a, b]、次数 n を入力すると、端点を含むガウス・ロバット求積で定積分を計算します。
計算する →
お客様の声
このツールを使った感想をお聞かせください。
レビューを投稿する
- ホーム
ガウス・ルジャンドル求積(数値積分)計算