相关疑难解决方法(0)

快速计算R中的双积分

我正在寻找一个比双重积分更快的解决方案

integrate(function(y) { 
   sapply(y, function(y) {
     integrate(function(x) myfun(x,y), llim, ulim)$value
   })
 }, llim, ulim)
Run Code Online (Sandbox Code Playgroud)

用例如

myfun <- function(x,y) cos(x+y)
llim <- -0.5
ulim <- 0.5
Run Code Online (Sandbox Code Playgroud)

我找到了一篇旧论文,提到了一个名为FORTRAN的程序quad2d,但我找不到其他任何东西,除了一些matlab的帮助页面.所以我正在寻找一个可以快速进行双积分的C或FORTRAN库(即没有sapply循环),并且可以从R调用.所有想法都非常受欢迎,只要它们都是GPL兼容的.

如果解决方案涉及从R已经附带的库中调用其他功能,我也很乐意听取他们的意见.

c fortran r integral

16
推荐指数
2
解决办法
2万
查看次数

R 中的数值三重积分

是否可以在不使用 cubature 包的情况下在 R 中进行三重集成?

基于这篇文章中的答案

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
Run Code Online (Sandbox Code Playgroud)

例如,要编码这个三重积分

在此处输入图片说明

我试过

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)
Run Code Online (Sandbox Code Playgroud)

r integral numerical-integration

5
推荐指数
1
解决办法
2198
查看次数

标签 统计

integral ×2

r ×2

c ×1

fortran ×1

numerical-integration ×1