提高 NIntegrate 运算速度的方法
提高 NIntegrate 运算速度的方法往往取决于积分本身。然而,也有一些常用的策略:
- 将 NIntegrate 的选项 “SymbolicProcessing” 设置为
0,
以防止 Wolfram 语言内核对积分进行符号式计算。默认情况下,NIntegrate 对被积函数进行符号式预处理,从而使得 NIntegrate 可以计算比较复杂的积分。然而,这种符号式处理会降低一些计算的速度。如果要计算函数f
在0
到1
之间的数值积分,而不进行符号式处理,需运行下面的输入:NIntegrate[f[x], {x, 0, 1}, Method -> {Automatic, "SymbolicProcessing" -> 0}]
可以将
Automatic
替换为任何您想使用的其他方法。 - 排除计算中的奇点和间断点。选项 Exclusions 指定 NIntegrate 在被积函数具有奇异性的情况下,不计算被积函数。例如,如果函数有一个分母,指出分母等于
0
的情况:NIntegrate[1/Sqrt[Sin[x]], {x, 0, 10}, Exclusions -> Sin[x] == 0]
欲了解更多关于加快数值积分速度的技术,请参阅参考资料中心的 NIntegrate 积分策略。
[English]
1-800-WOLFRAM (+1-217-398-0700 美国境外用户)
客服支持
周一至周五
8am–5pm 美国中部时区
- 产品注册或激活
- 预售信息和订单
- 安装帮助和首次启动
高级技术支持 (面向特定用户)
周一至周四
8am–7pm 美国中部时区
周五
8:30–10am & 11am–5pm 美国中部时区
- 优先技术支持
- Wolfram 专家助理专员
- Wolfram 语言编程帮助
- 高级安装支持