首页 > 解决方案 > 基于外积分求解具有变界的三重积分

问题描述

我拥有的当前代码如下。我试图解决的方程也在下面。它可以在 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 中以查看漂亮的文本:

积分_0^(1) 积分_0^z 积分_0^(2-z) e^(-(x+y)) dx dy dz

标签: r

解决方案


你快到了: 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 的结果还是相当不错的。


推荐阅读