尝试以下代码:
library(pracma)
f <- function(x) 1
integrate(f,0,1)$value
quad(f,0,1)
quad()正常工作,但integrate()报告错误消息:
整合错误(f,0,1): 功能评估给出了错误长度的结果
这个integrate()应用程序有什么问题?提前谢谢!
答案 0 :(得分:4)
您可以尝试:
integrate(Vectorize(f),0,1)$value
参见integrate
的手册:f应该是R函数采用数字第一个参数并返回相同长度的数字向量。 Vectorize
将使f
成为一个返回与输入相同长度输出的函数。
答案 1 :(得分:0)
解决方案的另一个例子:
integrate(function(x) rep(1, length(x)), 0, 1)