|
SOLUTIONS
|
MATHEMATICA 内置符号
NIntegrate
NIntegrate[f, {x, xmin, xmax}]
给出积分的
的数值近似.
NIntegrate[f, {x, xmin, xmax}, {y, ymin, ymax}, ...]
给出多重积分
的数值近似.
更多信息更多信息
- 多重积分使用标准迭代符号的变化形式,给出的第一个变量对应于最外层的积分并最后计算.
- NIntegrate 缺省下在积分边界上测试奇点,通过 Exclusions 选项设置指定的区域边界.
- NIntegrate[f, {x, x0, x1, ..., xk}] 测试一维积分在每个中间点
的奇点. 如果没有奇点,结果等价于从
到
的积分. 您可以用复数
在复平面上指定一个积分等高线. - 可以给出以下选项:
-
AccuracyGoal Infinity 搜索的绝对精度的位数 EvaluationMonitor None 每当 expr 计算,也被计算的表达式 Exclusions None 排除的部分积分区域 MaxPoints Automatic 样本点的最大数量 MaxRecursion Automatic 递归划分的最大数量 Method Automatic 使用的方法 MinRecursion 0 递归划分的最小数量 PrecisionGoal Automatic 结果的精确度 WorkingPrecision MachinePrecision 内部计算使用的精度 - NIntegrate 通常使用一个自适应算法,该算法按需要递归地对积分区域进行划分.
给出递归划分的最小数量. MaxRecursion 给出最大数量. - NIntegrate 通常不断进行子划分直至达到由 AccuracyGoal 或 PrecisionGoal 指定的最后结果所需要的误差估计为止.
- 对于较低维的积分,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 局部化变量.
版本 1 的新功能 | 版本 8 修改功能
Mathematica 9 is now available!
New to Mathematica?
Find your learning path »
Have a question?
Ask support »


