【问题标题】:C++ 2D Integration Libraries [closed]C++ 2D 集成库 [关闭]
【发布时间】:2010-10-31 23:49:46
【问题描述】:

谁能指出一个可以进行 2D 数值积分的优秀 C++ 库。它需要能够接受已知值的二维数组,并且可以假设点之间的间距是恒定的(首先)。

最好有一个允许根据需要修改代码的许可证。

【问题讨论】:

  • 这个问题在 Stack Overflow 上是题外话,因为它是对场外资源(即图书馆)的请求。 Computational Science 可能会让您更幸运。该网站上的图书馆请求是specifically on-topic

标签: c++ math integration


【解决方案1】:

它实际上是一个 C 库,但如果 GPL 许可条款适合您,请尝试:

http://www.gnu.org/software/gsl/

您需要查看此处列出的 Monte Carlo 集成选项:

http://www.gnu.org/software/gsl/manual/html_node/Monte-Carlo-Integration.html

【讨论】:

  • 谢谢,我会调查的。不过,我现在宁愿远离蒙特卡洛。我更喜欢现在就得到确定性的结果。
  • 蒙特卡洛方法具有确定性的结果,它们只是更“嘈杂”。
【解决方案2】:

这个 Fortran 库很容易从 C++ 链接到,并且属于公共领域:

http://gams.nist.gov/cgi-bin/serve.cgi/Module/CMLIB/ADAPT/2967

它是单精度,但很容易修改源(获取“完整源”并遍历每个函数)以切换到双精度。

【讨论】:

    【解决方案3】:

    http://itpp.sourceforge.net/current/

    试试这个。它可以满足您的要求,甚至更多!而且你可以随意修改代码。

    我在某处读到,您可以从 GNU Octave 代码中提取库并在您自己的应用程序中使用 C++ 代码。我不确定这是否容易,但如果你有时间,可以尝试一下。

    【讨论】:

    • 你能告诉我二维集成吗?我只能找到一维集成 (itpp.sourceforge.net/current/group__integration.html)
    • 二维积分不就是一个二重积分吗?不能用同一个库吗?
    • 不在数值积分中。您有更多想要使用的信息。与 1D 不同,对于每个“点”,您有四个要插值的邻居。
    猜你喜欢
    • 2010-12-06
    • 1970-01-01
    • 2023-04-11
    • 2010-12-07
    • 2012-12-11
    • 2014-03-26
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    相关资源
    最近更新 更多