首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从Matlab移植到C++需要使用哪个数字库?

从Matlab移植到C++需要使用哪个数字库?
EN

Stack Overflow用户
提问于 2012-02-08 16:29:55
回答 4查看 1.1K关注 0票数 14

目前,我正在Matlab中建立一些依赖于矩阵、DSP、统计和图像分析功能的算法。

我可能需要的一些例子:

  • 特征向量
  • 二维和三维卷积
  • FFT
  • 短时傅里叶变换
  • 希尔伯特变换
  • Chebyshev多项式
  • 低通滤波器
  • 随机多元高斯数
  • 金丝

稍后,我需要在C++中实现这些算法。

我还拥有C++中的数字规则的许可证,我喜欢它,因为它有很好的文档和广泛的算法。我还发现了一个在MEX中帮助包装NR函数的类:nr3matlab.h。因此,使用这个类,我应该能够生成包装器,允许我从Matlab调用NR函数。这对我来说非常重要,这样我就可以在从Matlab移植到C++时检查每个步骤。然而,C++中的数值计算方法有一些重要的缺点:

  • 算法实现简单,不一定非常有效。
  • 非螺纹

因此,我正在考虑使用另一个数字库。理想的图书馆应:

  • 在范围和功能上尽可能广泛
  • 有充分的记录
  • (有商业支持)
  • 已经制作了Matlab包装器
  • 非常健壮
  • 非常有效率
  • 螺纹
  • (有一个可以打开的GPU实现,而不是带有“开关”的CPU )

你会推荐哪一个数字库?

预先感谢您的任何回答!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-02-08 22:48:29

实际上,您应该看看openCV

虽然它的第一个目标是计算机视觉/图像处理,但是这个库有很多线性代数工具(几乎所有你想要的)。最初,这个库是由英特尔( intel )实现的,非常注重性能。可以处理多线程,IPP,.语法比通常的C++库更容易使用。

您应该看看这个备忘单。自2.0版以来,语法已被更改为模仿matlab。这个库被广泛使用,并且非常活跃(最近一次大的更新是2011年8月)。

票数 3
EN

Stack Overflow用户

发布于 2012-02-08 19:11:55

您有一个相当长的需求列表,用一个库来覆盖它们可能会有很大的挑战。

对于一般的Matlab++转换,我可以强烈推荐[医]鲤鱼,它是一个模板化的C++库,专注于线性代数--以及使编写类似于Matlab的表达式变得容易。它作为非常好的性能,是很好的记录和积极维护。你可以从那里开始,试着为你的任务填补缺失的部分。

票数 4
EN

Stack Overflow用户

发布于 2012-02-08 17:28:22

唠叨可能是一个很好的选择。大量的金融机构在他们的数学图书馆中使用它。不过,我上次使用GPU时,没有GPU实现。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9197432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档