【发布时间】:2022-11-18 02:51:00
【问题描述】:
我的目标是计算 R 中的以下二重积分。
看了之前的解决方案,比如double integral in R。按照solution by G5W,我想出了代码
inner_func <- function(x) {
alpha=23
beta=14
return(x^(alpha-1)*(1-t-x)^(beta-1))
}
innerintegral <- Vectorize(
function(t) {
integrate(inner_func,0,1-t)$value
}
)
integrate(innerintegral,0,1)
这是行不通的。我认为因为内部函数本身取决于限制,所以我没有得到任何解决方案。
我还查看了solution by MrFlick 并运行了以下代码,它确实给了我一个输出。
fun0 <- function(x,t){
alpha <- 10
beta <- 10
return(x^(alpha-1)*(1-t-x)^(beta-1))
}
integrate(function(t) {
sapply(t, function(t) {
integrate(function(x) fun0(x,t), 0, 1-t)$value
})
}, 0, 1)$value
[1] 5.412544e-08
我不确定这是否是正确的方法,甚至不确定解决方案是否正确。请让我知道这是否是正确的程序以及解决方案是否正确。
【问题讨论】: