R值上的积分
我一直试图在R值上的积分,r,R,我一直试图在[0,1]中通过r集成以下函数,但没有成功: brownian_bridge <- function(r){X[r*(length(X)-1)+1]-r*X[length(X)]} 此外, X=cumsum(rnorm(1000,mean=0,sd=sqrt(1/1000))) 现在我的问题是:如何在[0,1]中集成r上的browian_桥?是否有内置的R函数来执行此操作?像integrate2()这样的标准工具似乎不起作用,因为r是一个序列,而不是一个适用于[0,1]中所
[0,1]
中通过r集成以下函数,但没有成功:
brownian_bridge <- function(r){X[r*(length(X)-1)+1]-r*X[length(X)]}
此外,
X=cumsum(rnorm(1000,mean=0,sd=sqrt(1/1000)))
现在我的问题是:如何在[0,1]中集成r上的browian_桥?是否有内置的R函数来执行此操作?像integrate2()这样的标准工具似乎不起作用,因为r是一个序列,而不是一个适用于[0,1]中所有r的函数。也许您应该先使用
矢量化
,然后应用集成
f <- Vectorize(brownian_bridge,"r")
res <- integrate(f,0,1,subdivisions = 1e5)
f也许你应该先使用Vectorize
,然后应用integrate
f <- Vectorize(brownian_bridge,"r")
res <- integrate(f,0,1,subdivisions = 1e5)
f
set.seed(1)
X=cumsum(rnorm(1000,mean=0,sd=sqrt(1/1000)))
brownian_bridge <- function(r){
X[r*(length(X)-1)+1]-r*X[length(X)]
}
f <- Vectorize(brownian_bridge,"r")
res <- integrate(f,0,1,subdivisions = 1e5)
> res
0.2478581 with absolute error < 1e-04