NIntegrate

NIntegrate[f, {x, xmin, xmax}]
積分 の数値近似を与える.

NIntegrate[f, {x, xmin, xmax}, {y, ymin, ymax}, ...]
多重積分 の数値近似を与える.

詳細とオプション詳細とオプション

  • 多重積分には標準的な反復子表記の変形が使われる.与えられる最初の変数は最も外側の積分に対応し,最後に行われる.
  • NIntegrateはデフォルトで,積分範囲の境界とExclusionsオプションの設定値で指定された範囲の境界で特異点の判定をする.
  • NIntegrate[f, {x, x0, x1, ..., xk}]は,一次積分では中間点 のそれぞれで特異点の判定をする.特異点が存在しない場合,結果は から の範囲の積分と同値である.複素数 を使って,複素平面上の積分路を指定することができる.
  • 指定可能なオプション:
  • AccuracyGoalInfinity目標とする絶対確度の桁数
    EvaluationMonitorNoneexpr が評価されたときに常に評価される式
    ExclusionsNone積分範囲で除外すべき部分
    MaxPointsAutomaticサンプル点の最大数
    MaxRecursionAutomatic再帰的な部分分割数の最大値
    MethodAutomatic使用されるアルゴリズム
    MinRecursion0再帰的な部分分割数の最小値
    PrecisionGoalAutomatic目標とする精度の桁数
    WorkingPrecisionMachinePrecision内部計算で使用する精度
  • NIntegrateは,通常,適応的アルゴリズムを使い,必要に応じて積分の領域を再帰的に部分分割する.は反復的に部分分割する回数の最小値を指定する.MaxRecursionその最大値を指定する.
  • NIntegrateは,通常,誤差推定値が最終的な結果として,指定されたAccuracyGoalあるいはPrecisionGoalに達するまで,部分分割を続ける.
  • 低次の積分の場合,PrecisionGoalの設定値はWorkingPrecisionに関連する.高次の積分の場合には,PrecisionGoalの設定値として一般に固定値(通常)が使われる.
  • 十分に病的であるといえる関数には,NIntegrateに使用されているアルゴリズムが誤った解答を与えることがあり得るということを十分理解しておいてほしい.ほとんどの場合,NIntegrateのオプションの設定に対する敏感さを見ることでこの解答を調べることができる.
  • Methodオプションが取り得る明示的な設定値には次のようなものがある.
  • "GlobalAdaptive"大域的な適応的積分方法
    "LocalAdaptive"局所的な適応的積分方法
    "DoubleExponential"二重指数求積法
    "MonteCarlo"モンテカルロ(Monte Carlo)積分
    "AdaptiveMonteCarlo"適応的モンテカルロ積分
    "QuasiMonteCarlo"適応的モンテカルロ積分
    "AdaptiveQuasiMonteCarlo"適応的擬似モンテカルロ積分
  • Method->{"strategy", Method->"rule"}あるいは Method->{"strategy", Method->{rule1, rule2, ...}}のときの使用可能なメソッドには次のようなものがある.
  • "GlobalAdaptive"大域的誤差推定に基づいて下位区分をする
    "LocalAdaptive"局所的誤差推定のみに基づいて下位区分を行う
  • 規則として使われるメソッドには次のようなものがある.
  • "CartesianRule"規則の多次元積
    "ClenshawCurtisRule"クレンショウ・カーチス(Clenshaw-Curtis)規則
    "GaussKronrodRule"クロンロッド(Kronrod)領域を伴うガウス(Gauss)点
    "LevinRule"レビン(Levin)型の振動規則
    "LobattoKronrodRule"クロンロッド領域を伴うガウス・ロバット(Gauss-Lobatto)点
    "MultidimensionalRule"多次元対称規則
    "MultipanelRule"1D規則の組合せ
    "NewtonCotesRule"ニュートン・コーツ(Newton-Cotes)規則
    "RiemannRule"リーマン(Riemann)和の規則
    "TrapezoidalRule"一次元における一様な点
  • Method->"rule"と設定すると,戦略メソッドが自動的に選択される.
  • 追加的なメソッドのサブオプションは,Method->{..., opts}の形で与えることができる.
  • NIntegrateは振動その他の被積分関数変換の入力を記号的に分析し,区分関数を部分分割し,最適アルゴリズムを選択する.
  • メソッドのサブオプションは,被積分関数の記号的分析を試みる最大秒数を指定する.
  • N[Integrate[...]]は,記号的に行うことのできない積分に対してNIntegrateを呼び出す.
  • NIntegrateは,まずすべての変数の値を局所化し,次に記号的となった変数で を評価し,繰り返して結果を数値的に評価する.
  • NIntegrateは属性HoldAllを持ち,Blockを用いて実質的に変数を局所化する.

例題例題すべて開くすべて閉じる

例 (4)例 (4)

数値積分を計算する:

In[1]:=
Click for copyable input
Out[1]=

多次元積分(始点に特異点)を計算する:

In[1]:=
Click for copyable input
Out[1]=

陰的に定義された領域の面積と体積を計算する:

In[1]:=
Click for copyable input
Out[1]=
In[2]:=
Click for copyable input
Out[2]=

振動関数およびその他の複雑な関数を積分する:

In[1]:=
Click for copyable input
Out[1]=
In[2]:=
Click for copyable input
Out[2]=
バージョン 1 の新機能 | バージョン 8 での修正機能
New to Mathematica? Find your learning path »
Have a question? Ask support »