快速计算R中的二重积分

标签 c r fortran integral

我正在寻找比

更快的二重积分的解决方案
integrate(function(y) { 
   sapply(y, function(y) {
     integrate(function(x) myfun(x,y), llim, ulim)$value
   })
 }, llim, ulim)

例如

myfun <- function(x,y) cos(x+y)
llim <- -0.5
ulim <- 0.5

我找到了一个 old paper它引用了一个名为 quad2d 的 FORTRAN 程序,但除了 matlab 的一些帮助页面之外,我找不到其他任何东西。所以我正在寻找一个可以快速进行双积分(即没有 sapply 循环)并且可以从 R 调用的 C 或 FORTRAN 库。非常感谢所有想法,只要它们都与 GPL 兼容。

如果解决方案涉及从已随 R 提供的库中调用其他函数,我也很乐意听取他们的意见。

最佳答案

cubature包使用自适应算法进行 2D(和 N-D)集成。对于大多数被积函数,它应该优于更简单的方法。

关于快速计算R中的二重积分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11890732/

相关文章:

r - 从每个元素 dplyr 中减去平均值

fortran - 在 Fortran 中多次循环后访问派生数据类型

c - 月供C方案

c - 如何使用 C 和 GMP Bignum 将任意原始数据转换为整数

c - 使用 Kaa C SDK 的 Kaa 应用程序调试器工具

r - 在 sidebarPanel 中包含 tabset 面板

R;如何解决 "expired PostgreSQLConnection"错误?

c - 使用摩尔斯电码读取 .txt 文件并从树中查找字母?

fortran - 初始化整数,值为 -2**31

fortran - Fortran 中结果变量的用途是什么?