keisoku

二重指数関数型(DE/tanh-sinh)数値積分 有限区間

f(x) と区間 [a, b] を入力するだけで、二重指数関数型(DE / tanh-sinh)公式により有限区間の定積分 ∫f(x)dx を高精度に数値計算します。端点で発散する被積分関数にも強い手法です。

入力

被積分関数 f(x) と積分区間 [a, b]、細分レベルを入力すると、二重指数関数型(DE / tanh-sinh)公式で定積分 ∫f(x)dx を数値計算します。

例: exp(-x^2)、sin(x)/x、1/sqrt(x)。変数は x、定数 pi・e、関数 sin cos exp log sqrt などが使えます。

細分レベル

大きいほど高精度

計算結果

積分値 ∫f(x)dx

0.7468241328

計算の詳細

積分区間 [a, b][0, 1]
細分レベル8
関数評価回数1,537
刻み幅 h0.0078125
誤差目安1.44e-15

計算方法・使い方

  • 変数変換 x = (b+a)/2 + (b−a)/2·tanh((π/2)·sinh t) を用いて、無限区間 t∈(−∞,∞) 上の台形則に帰着させる二重指数関数型(DE / tanh-sinh)公式で数値積分します。
  • 重みは dx/dt = (b−a)/2·(π/2)·cosh t / cosh²((π/2)·sinh t) で与えられ、|t| が大きくなると二重指数的に 0 へ減衰するため、有限個の分点で打ち切れます。
  • 区間の端点 a, b 近傍で被積分関数の寄与が急速に減衰するため、端点で発散する(特異性をもつ)積分にも安定して収束しやすい性質があります。
  • 細分レベルを上げると刻み幅 h を半分ずつ細かくして分点を増やし、精度が向上します。表示する誤差目安は直前レベルとの差の絶対値です。
  • 数式は eval を使わず独自の再帰下降パーサで解析します。+ − * / ^、丸括弧、単項マイナス、暗黙乗算、変数 x、定数 pi・e、関数 sin cos tan asin acos atan sinh cosh tanh exp log ln log10 sqrt cbrt abs に対応します。
  • 結果は倍精度で計算し最大10桁まで表示します。被積分関数の性質や区間によっては理論値と誤差が生じる場合があるため、参考値としてご利用ください。

お客様の声

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

レビューを投稿する

  1. ホーム
  2. 二重指数関数型(DE/tanh-sinh)数値積分 有限区間