2
我正在使用集成函数(在R中)来数值计算积分。我有一个单变量函数的一个参数就F(X,A)这样的(只是举例的目的):R-集成“集成”功能
test = function(x,a) 1/sqrt(2*pi)*exp(-(x-a)^2/2)
我想定义新的单变量函数,这是一个功能整合后,上述功能:
testa = function(a) integrate(test,0,Inf,a=a)$value #this works
现在我的问题是,是否有可能使用的功能种皮整合功能?例如:
integrate(testa,0,1) # not working
我试着和它不工作(有错误信息evaluation of function gave a result of wrong length
)。我已经知道可以直接在测试(例如使用adaptIntegrate函数从函数包的小数部分包)应用多变量积分程序。但那不是我的目的!
那么有谁知道如何继续申请整合函数就像上面的例子?或者确认这在R中是不被允许的?
预先感谢
Waoh这个作品!并感谢您的快速回答!顺便说一下,你能否解释一下'Vectorize(testa)'背后的机制。我也尝试过,例如'testa = function(a)(Vectorize(test,vectorize.args ='x',0,Inf,a = a)$ value '但它不起作用。谢谢 – Tuan
'test '已经在x中被矢量化了,没有必要在那里使用'Vectorize','help(“Vectorize”)'解释它是如何工作的。 – Roland