我用integrate在循环中做了一些积分,我遇到了一个错误,我无法理解,也无法摆脱。下面是我可以提取的MWE:
b=1/1.230219e-07
f=function(x)
{exp(-x/b)}
integrate(f,0, Inf)
这将返回错误“积分(f,0,Inf)中的错误:积分可能发散”这显然是错误的
我试着改变上下,它的工作
b=1/1.230219e-07
f=function(x)
{exp(-x/b)}
integrate(f,0, 2)
并且结果输出2 with absolute error < 2.2e-14
我想问题出在无穷大上,但我不知道怎么解决它。
1条答案
按热度按时间e4yzc0pl1#
使用程序包
cubature
,函数hcubature
。用手积分等于
b
,这就是hcubature
的结果。另外,我重新定义了函数,将
b
作为形式参数。创建于2022年12月27日,使用reprex v2.0.2