keisoku

Tanh-Sinh求積 分点・重み計算

Tanh-Sinh(二重指数)求積の分点x_kと重みw_kを刻み幅と分点数から一覧表示。被積分関数を入力すれば区間(-1,1)の近似積分も計算します。

入力

刻み幅 h と片側分点数 n を入力すると、Tanh-Sinh求積の分点 x_k と重み w_k を一覧表示します。被積分関数 f(x) を入れると区間 (-1, 1) の近似積分も計算します。

格子間隔(0 < h ≤ 2)。小さいほど高精度

k = -n … n(全分点 2n+1 個、最大 200)

例: 1/sqrt(1-x^2)。空欄なら分点と重みのみ表示

計算結果

近似積分 ∫₋₁¹ f(x) dx

3.1415926717

刻み幅 h

0.5

分点数

13

重みの総和 Σw_k

2.0000067191

分点と重みの一覧

k分点 x_k重み w_k
-6-10
-5-0.99999998890.0000001072
-4-0.99997747720.0001331003
-3-0.99751485650.0091715835
-2-0.95136796410.1150111973
-1-0.67427149220.4829882897
000.7853981634
10.67427149220.4829882897
20.95136796410.1150111973
30.99751485650.0091715835
40.99997747720.0001331003
50.99999998890.0000001072
610

計算方法・使い方

  • Tanh-Sinh求積(二重指数公式, DE公式)は、変数変換 x = tanh((π/2)·sinh(t)) によって区間 (-1, 1) 上の積分を等間隔格子 t = k·h の和に置き換える数値積分法です。
  • 刻み幅 h と整数 k に対し、分点は x_k = tanh((π/2)·sinh(kh))、重みは w_k = ((π/2)·h·cosh(kh)) / cosh²((π/2)·sinh(kh)) で計算されます。
  • 全分点数は片側分点数 n を用いて 2n+1 個(k = -n … n)です。端点 ±1 に近づくほど重みが二重指数的に小さくなるため、端点に特異性を持つ被積分関数にも安定して適用できます。
  • 被積分関数 f(x) を入力した場合、∫_{-1}^{1} f(x) dx ≈ Σ_k w_k·f(x_k) で近似積分値を表示します。区間が [a, b] の積分は x = ((b-a)x' + (a+b))/2 のように事前に変数変換してください。
  • 数式は +・-・*・/・^(べき乗)、丸括弧、単項マイナス、暗黙の乗算(例 2x)に対応し、変数 x、定数 pi・e、関数 sin cos tan asin acos atan sinh cosh tanh exp log ln log10 sqrt cbrt abs が使えます。
  • 計算はすべて倍精度浮動小数点で行うため、極端に小さい h や大きな n では丸め誤差が無視できなくなる場合があります。表示桁は丸めた近似値であり、厳密値ではありません。

お客様の声

このツールを使った感想をお聞かせください。

レビューを投稿する

  1. ホーム
  2. Tanh-Sinh求積 分点・重み計算