假设我有一个以( - )无穷大为界的一个(或两个)结束的积分。 AFAICT,我不能解析地解决这个问题,它需要蛮力(例如使用左黎曼和)。我在泛化算法时遇到了麻烦,因此它设置了适当的细分;我要么做太多的工作来计算一些微不足道的东西,要么做得不够,并且有很大的混叠错误。
用任何语言回答都很酷,但也许有更好的google-fu的人可以快速结束。 :)
我正在寻找的东西是不可能的,比如试图测量英国的海岸线?
答案 0 :(得分:1)
有几种方法可以继续,其中大部分都涉及尝试了解被积函数的行为。通常,存在转换x - > z(x)具有有限z(无穷大),因此您可以将无界积分转换为有界积分。
此外,通常情况下,当x转到+和 - 无穷大时,你可以分析被积函数的“渐近”行为,因此你至少可以计算出来自x> x +和x<的贡献。 x-然后只做x-和x +之间的定积分。
有很多关于数值整合的好书。在物理科学中经常使用的是Numerical Recipes。 (虽然你很少直接使用代码!)
答案 1 :(得分:0)
使用变量变更。例如,x - > 1 / x并注意f(x)dx的a到b的积分等于(1 / x ^ 2)f(1 / x)dx的1 / b到1 / a的积分。另一个方便的是变量x - >的变化。 -log(x),其中f(x)dx从a到无穷大的积分等于f(-log(x))/ x dx从0到e ^( - a)的积分。
各种开源软件包包含执行此类操作的例程。其他人将不得不推荐一个,因为当数学函数的开源不存在时我写了自己的。
C书中的数字食谱可在线获取http://www.nrbook.com/a/bookcpdf.php 你可以从中拼凑出一些东西。您感兴趣的章节是4号。请注意,数组索引基于1而不是0.有些算法可以改进,但我不会在这里进行。
答案 2 :(得分:-1)
如果您正在寻找一个详尽的解决方案,您可能需要某种符号数学包。原因:
- 如果你确实在寻找无限积分的解决方案(完全没有界限的积分,而不仅仅是有限积分),那么除了做数字等效的查找表之外,我不知道任何其他方式。一个符号算法(比如知道x ^ n dx的积分是x ^(n + 1)/(n + 1),再加上一个不依赖于x的任意表达式。)