NIntegrate

NIntegrate[f, {x, xmin, xmax}]
给出积分的 的数值近似.

NIntegrate[f, {x, xmin, xmax}, {y, ymin, ymax}, ...]
给出多重积分 的数值近似.

更多信息更多信息

  • 多重积分使用标准迭代符号的变化形式,给出的第一个变量对应于最外层的积分并最后计算.
  • NIntegrate 缺省下在积分边界上测试奇点,通过 Exclusions 选项设置指定的区域边界.
  • NIntegrate[f, {x, x0, x1, ..., xk}] 测试一维积分在每个中间点 的奇点. 如果没有奇点,结果等价于从 的积分. 您可以用复数 在复平面上指定一个积分等高线.
  • 可以给出以下选项:
  • AccuracyGoalInfinity搜索的绝对精度的位数
    EvaluationMonitorNone每当 expr 计算,也被计算的表达式
    ExclusionsNone排除的部分积分区域
    MaxPointsAutomatic样本点的最大数量
    MaxRecursionAutomatic递归划分的最大数量
    MethodAutomatic使用的方法
    MinRecursion0递归划分的最小数量
    PrecisionGoalAutomatic结果的精确度
    WorkingPrecisionMachinePrecision内部计算使用的精度
  • NIntegrate 通常使用一个自适应算法,该算法按需要递归地对积分区域进行划分. 给出递归划分的最小数量. MaxRecursion 给出最大数量.
  • NIntegrate 通常不断进行子划分直至达到由 AccuracyGoalPrecisionGoal 指定的最后结果所需要的误差估计为止.
  • 对于较低维的积分,PrecisionGoal 的设置与 WorkingPrecision 相关. 对于较高维积分,它通常指定一个固定值 .
  • 您可以意识到,在大量的病理学实例中,NIntegrate 采用的算法给出错误的结果. 在多数实例中,您可以通过在 NIntegrate 选项的设置中查看变化的灵敏度来测试结果.
  • Method 选项的可能设置包括:
  • "GlobalAdaptive"全局自适应积分策略
    "LocalAdaptive"局部自适应积分策略
    "DoubleExponential"双倍指数求积
    "MonteCarlo"蒙特卡洛积分
    "AdaptiveMonteCarlo"自适应蒙特卡洛积分
    "QuasiMonteCarlo"准蒙特卡洛积分
    "AdaptiveQuasiMonteCarlo"自适应准蒙特卡洛积分
  • 设置 Method->{"strategy", Method->"rule"}Method->{"strategy", Method->{rule1, rule2, ...}},可能包括以下政策方法:
  • "GlobalAdaptive"基于整体的误差估计的再分
    "LocalAdaptive"基于局部的误差估计的再分
  • 用作规则的方法包含:
  • "CartesianRule"规则的多维 Cartesian 积
    "ClenshawCurtisRule"Clenshaw-Curtis 规则
    "GaussKronrodRule"有 Kronrod 展开的 Gauss 点
    "LevinRule"Levin 型振荡规则
    "LobattoKronrodRule"有 Kronrod 展开的 Gauss-Lobatto 点
    "MultidimensionalRule"多维对称规则
    "MultipanelRule"一维规则的混合
    "NewtonCotesRule"Newton-Cotes 规则
    "RiemannRule"黎曼求和规则
    "TrapezoidalRule"一维的均匀点
  • 如果设置 Method->"rule",将自动选择策略方法.
  • 用来增加方法的子选项可以以 Method->{..., opts} 形式给出.
  • NIntegrate 对输入进行符号式分析,从而对振荡型被积函数或其它被积函数进行变换,进一步划分分段函数,以及选择最优化的算法.
  • 方法的子选项 指定执行被积函数的符号分析的最大秒数.
  • 对于不能符号运算的积分,N[Integrate[...]] 调用 NIntegrate.
  • NIntegrate 首先局部化所有变量的值,然后符号计算 f,最后重复数值计算结果.
  • 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 »