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