计算R一堆错误中的定积分
Calculate definite integral in R bunch of error
我正在尝试计算以下积分,即积分中有积分。
integrate(function(v){
integrate(function(s){
pnorm(qnorm(v)-qnorm(s))
},0,1)$value
},0,1)
不幸的是我总是得到:
Error in integrate(function(v) { :
evaluation of function gave a result of wrong length
或:
Error in integrate(function(s) { : maximum number of subdivisions reached
错误是因为 integrate
需要矢量化函数。解决方法是在 upper 函数周围使用 Vectorize
。
integrate(Vectorize(function(v){
integrate(function(s){
pnorm(qnorm(v)-qnorm(s))
},0,1)$value
}),0,1)
## 0.5 with absolute error < 5.6e-15
我正在尝试计算以下积分,即积分中有积分。
integrate(function(v){
integrate(function(s){
pnorm(qnorm(v)-qnorm(s))
},0,1)$value
},0,1)
不幸的是我总是得到:
Error in integrate(function(v) { :
evaluation of function gave a result of wrong length
或:
Error in integrate(function(s) { : maximum number of subdivisions reached
错误是因为 integrate
需要矢量化函数。解决方法是在 upper 函数周围使用 Vectorize
。
integrate(Vectorize(function(v){
integrate(function(s){
pnorm(qnorm(v)-qnorm(s))
},0,1)$value
}),0,1)
## 0.5 with absolute error < 5.6e-15