试试下面的代码:
library(pracma)
f <- function(x) 1
integrate(f,0,1)$value
quad(f,0,1)
quad() 工作正常但 integrate() 报告错误信息:
集成错误(f,0,1): 函数的评估给出了错误长度的结果
这个 integrate() 应用程序有什么问题?提前致谢!
你可以试试:
integrate(Vectorize(f),0,1)$value
参见
integrate
的手册:f
应该是一个R函数,它接受一个数字第一个参数并返回一个相同长度的数字向量。 Vectorize
将使 f
返回与输入长度相同的输出的函数。
解决方案的另一个说明:
integrate(function(x) rep(1, length(x)), 0, 1)