【问题标题】:Is there any existing library that has matlab functions implemented in C/CPP/Obj-C?是否有任何现有的库在 C/CPP/Obj-C 中实现了 matlab 函数?
【发布时间】:2013-05-31 03:57:40
【问题描述】:

我正在使用仅在 Matlab 中实现的算法。

但是我需要使用 gcc 运行它,一旦我没有服务器或移植代码所需的 Matlab 许可证。

Sp,我正在尝试在 Objective-C 中实现我自己的算法。 这样我想知道是否已经存在任何已实现(至少一组)Matlab 函数的现有库。

ATM 我正在​​自己制作 Matlab 函数,这变得非常耗时。

谢谢。

【问题讨论】:

  • 我是 C++ 和 Matlab 用户。对于我的矩阵/向量相关的东西,我在 C++ 中使用 Eigen。当然,Eigen 并没有提供 Matlab 工具箱提供的所有功能。但它提供了很多w.r.t。由于 C++ 中的可重载运算符,线性代数和语法是可以接受的。然后,还有 GSL(GNU Scientific Library),据我所知,它只带有 C 接口。
  • 也许你可以使用 GNU Octave。这是一个开源的 Matlab 克隆,具有很好的兼容性。我偶尔会在家里使用它,因为那里没有 Matlab 的私人副本。
  • @RodyOldenhuis 正如标题所示,它不需要专门在 Objective-C 中。但是,我做出了这个特别的选择,因为该算法将在 iOS 应用程序中运行。
  • @sellibitze 我来看看!谢谢!

标签: c++ objective-c c matlab porting


【解决方案1】:

好消息和坏消息 - 有一个专门设计用于将 Matlab 代码翻译成 C++ 的库 - 来自 Princeton Satelite Systems 的 MatrixLib。 [我知道这一点,因为我曾经在那家公司工作过:-)]。然而,它并不便宜。您可以在线阅读文档,并且可以出于某种原因协商折扣。

当我在那里专门用它来为 C++ 编写一个巨大的 Matlab 脚本时,它肯定是针对那个用途的。

【讨论】:

    【解决方案2】:

    您提供的链接中的代码似乎没有使用任何不寻常或奇特的东西,因此如果您只有一个线性代数库,那么重新实现应该相当简单。 Eigen 相当不错,Boost 的 uBLAS 也不错,尽管据报道 uBLAS 有点慢。

    我建议您阅读this StackExchange post,以对可用的不同版本进行相当全面的比较。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-24
      • 1970-01-01
      • 2011-07-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多