我想整合以下功能
function(x) (0.01^2.5)*2.5*x^(2.5-1)
我应该整合不同的上限。
upper.bound=seq(0,100)
通常我会用
sapply(upper.bounds, function(t) integrate(function(x) (0.01^2.5)*2.5*x^(2.5-1), lower = 0, upper = t))
或
for(t in upper.bounds)
integrate(function(x) (0.01^2.5)*2.5*x^(2.5-1), lower=0, upper=t)
然而,在我的程序中,使用更复杂的函数(x)和更大的“upper.bounds”来计算需要花费很多时间。
上述两种方法都太慢,无法在我的程序中使用,无论如何都要加快计算速度?我在rcpp中编写了上面的代码,在那里我使用rcpp版本的数值积分。但它仍然太慢使用。
任何帮助将不胜感激!