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