用C MATLAB函数++ [关闭](MATLAB functions in C++ [closed

2019-07-03 16:25发布

有谁知道一个资源,我们可以得到免费的 C ++库MATLAB的功能呢? 例如,线性代数问题可使用LAPACK和BLAS来解决。

此外,MATLAB的.NET项目是不可能的 - 我说的是直接的C ++的流行功能的MATLAB实现(我不知道我需要用C哪些功能尚未++,但利用的功能,不会是深奥) 。

关于这些资源有什么建议?

Answer 1:

我从来没有听说过的MATLAB功能,以C ++的综合性港口。 话虽这么说,几乎所有的matlab做一个C内某处/ C ++库,一些从我的头顶:

  • LAPACK,BLAS,你已经提到的这些,还有几个很好的实现中,最显着的(免费),一个是ATLAS 。
  • FFT在MATLAB中通过实施FFTW库
  • 有快速的开源图像库的负载在那里,即。 插值,过滤。
  • 有真正好的OOP矩阵库在那里, 升压有一个很好的一个。

在此之后,以及弄清楚你需要什么,有一个很好的机会,有人已经实现了它在C / C ++。



Answer 2:

我也喜欢

  • 犰狳 (模板C ++库)
  • 本征 (另一模板C ++库)
  • Newmat (较旧的但良好测试的C ++矩阵库)

除此之外,你原来的问题是不是真的更好指针不够具体。



Answer 3:

对不起,振兴一个老问题,但我目前工作的一个开源C ++库,正是回答了这个问题:

KeyCpp是一个开源C ++库,提供MATLAB /倍频程的语法来几个有用的数值方法,也有一些绘制功能。 目前对于功能eigode45fftlinsolvesvdinterp1plot ,以及许多其他常见MATLAB功能。

虽然有许多提供这些功能(如犰狳,征等)其他(非常好)库,大多数是不完整的数字图书馆和大部分的语法是不同的,以MATLAB的语法。 虽然KeyCpp也还没有一个完整的数字图书馆(但正在改善所有的时间!),语法是接近MATLAB的作为C ++语言允许。

在KeyCpp,绘制矢量ty我们使用的语法如下:(转到这里了解更详尽的例子)

#include <iostream>
#include <keycpp/keycpp.h>
using namespace keycpp;

int main(int argc, char** argv)
{
    // Lets create some data: y = sin(t)
    std::vector<double> t = linspace(-pi,pi,100);
    std::vector<double> y = sin(t);

    Figure h;
    h.plot(t,y,"-b");
    h.grid_on();
    h.legend({"Series 1"});
    h.title("Example Plot");
    h.xlabel("time");
    h.ylabel("y");

    return 0;
}

所述KeyCpp库的功能利用LAPACK,gnuplot的,并且odeint(从升压)。 下面的开源项目都被纳入此库:亲吻FFT,gnuplot的-CPP。

对于大多数的功能Doxygen文档位于这里



Answer 4:

除了已经给出了很好的建议,也可能是你能解除你的源代码需要的代码八度或Scilab的 。 这些都具有GPL风格的许可证,虽然,这可能不适合你的需求。



Answer 5:

仔细阅读您的MATLAB文档和对你的硬盘周围的DLL捅等部分组成它安装。 我想你会发现,Matlab的使用版本BLAS为BLAS做什么,也可能LAPACK等。



文章来源: MATLAB functions in C++ [closed]