r - 基于外积分求解具有变界的三重积分
问题描述
我拥有的当前代码如下。我试图解决的方程也在下面。它可以在 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
解决方案
你快到了:
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 的结果还是相当不错的。
推荐阅读
- java - 如何在 android 上创建复制链接地址菜单?
- r - 使用 dplyr 查找列中的最大值并从不同列返回元素
- mongodb - Mongodb mongoose查询通过引用获取文档数
- python - python 在分区列结果之间剪切
- ssl - 如何将证书颁发机构 (CA) 添加到 k8s?
- c# - .NET Core API - 从服务器而不是本地存储返回图像 URL
- spring-boot - 使用 h2 数据库时如何“允许远程创建数据库”?
- spring-boot - Redis 无法序列化/反序列化内部 Map 对象
- rust - 结构所有权
- r - 带有 Mapdeck 的自定义标记