基于外部积分解决具有可变界限的三重积分

3

我现有的代码如下所示。我要解决的方程也在下面。它可以在 Wolfram Alpha 中解决,但我无法让 R 执行它。

library(pracma)
fun <- function(x,y) {exp(-(x+y))}
fun2 <- function(z) {integral2(fun, 0, z, 0, 2-z)$Q}
integral(fun2, 0, 2)

将以下内容复制到 Wolfram Alpha 中以查看漂亮的文本:

integral_0^(1) integral_0^z integral_0^(2-z) e^(-(x+y)) dx dy dz

1个回答

1
你已经接近成功了:`integral` 需要一个向量化的函数。
library(pracma)
fun <- function(x,y) {exp(-(x+y))}
fun2 <- function(z) {integral2(fun, 0, 2-z, 0, z)$Q}
Fun2 <- Vectorize(fun2)
integral(Fun2, 0, 1)
# [1] 0.2706706

当然,Wolfram Alpha返回的是符号解,因此更精确。不过,R的结果也相当不错。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接