【发布时间】:2017-11-17 00:31:09
【问题描述】:
是否可以在不使用 cubature 包的情况下在 R 中进行三重集成?
based on the answer in this post
InnerFunc = function(x) { x + 0.805 }
InnerIntegral = function(y) { sapply(y,
function(z) { integrate(InnerFunc, 15, z)$value }) }
integrate(InnerIntegral , 15, 50)
16826.4 with absolute error < 1.9e-10
例如编码this triple integral:
我试过了
InnerMostFunc = function(v) { v + y^2 }
InnerMostIntegral = function(w) { sapply(w,
function(x) { integrate(InnerMostFunc, 1, 2)$value }) }
InnerIntegral = function(y) { sapply(y,
function(z){integrate(InnerMostIntegral, 1, 2)$value }) }
integrate(InnerIntegral, 0, 1)
【问题讨论】:
-
我无法读取您要计算的三重积分。能提供公式吗?也许使用您引用的帖子中的公式图像。
-
@G5W 我试着把它清理得更好!
-
三重积分需要三个变量(和三个单独的范围)。您的集成只有一个变量,尽管我猜您打算在方形立方体上进行集成。
-
所以你不能指望 R 提供那个符号结果,但是如果你为
k指定一个值,你可以得到一个结果。 -
@42 - 是的,我试图在一个方形立方体上进行积分。不过,我一直在寻找具有重复范围的示例(例如我添加的最新示例)。你真的不能用重复范围做三重积分吗?
标签: r integral numerical-integration