我正在寻找一个比
<scipy.integrate.nquad>
更快的二重积分解决方案。
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
我发现了一篇参考了名为quad2d
的FORTRAN程序的古老论文,但是除了MATLAB的一些帮助页面外,我找不到其他的资源。因此,我正在寻找一个可以快速执行双重积分(即无需使用sapply循环)的C或FORTRAN库,并且可以从R中调用。只要它们都与GPL兼容,所有想法都非常值得欢迎。
如果解决方案涉及调用已经随R一起发布的库中的其他函数,我也很乐意听取这些方案。
pracma::dblquad
、pracma::simpson2d
以及cubature和R2Cuba包中的函数吗? - Joshua Ulrich