将Matlab转换成C++。

5

我需要将一些MATLAB代码转换为C++。我正在使用Visual Studio 2010,并安装了MATLAB编译器。我想知道如何进行这项工作。

另外,当我发布我的项目时,最终用户是否需要安装任何MATLAB相关的东西?(这不可能是这种情况)

3个回答

3
你可以将Matlab脚本编译为独立的可执行文件,但我不熟悉将Matlab代码转换为Visual C++代码的Matlab工具。你可以使用Simulink Coder(以前称为Real-Time Workshop)将Matlab代码转换为C或C++,该产品是Mathworks提供的一个单独的产品。
要运行独立的可执行文件,用户必须安装Matlab编译器运行时。从Matlab编译器网页中获取:

使用MATLAB Compiler产品创建的可执行文件和库使用称为MATLAB Compiler Runtime(MCR)的运行时引擎。 MCR由MATLAB Compiler提供,可用于与应用程序一起分发,并可免版税部署。


很久很久以前,MATLAB编译器曾经将MATLAB代码转换为C语言,但是它已经有一段时间没有这样做了。现在,它只是将(*.m)MATLAB源文件转换为混淆的、预解析的格式(.p),打包起来,以便可以作为独立可执行文件运行或从另一个程序调用。无论哪种方式,目标机器都需要安装与应用程序开发所使用的MATLAB版本相对应的MCR。 - William Payne
1
“但我认为没有Matlab工具可以将Matlab代码转换为C++或Visual C++代码” - 这是错误的信息:实时车间就是这样一个Matlab工具。然而,这是一个独立的产品,需要不同的许可证,与Matlab编译器不同。 - learnvst

2

你无法摆脱Matlab运行时。我经常使用Matlab编译器遇到各种问题。它基本上是围绕Matlab运行时的包装器,生成笨拙的代码,并且在部署中会引入许多问题。C语言的替代品...?我找不到任何一个。所以我最近转向了ilnumerics,它类似于C#中的Matlab - 只是速度更快,无需翻译。到目前为止效果非常好,因为我们已经使用ASP.NET,因此可以直接使用ilnumerics的3D图。


0

您可以选择使用MATLAB引擎。这可能不适用于实时应用,但是在其他情况下非常好用。您可以直接从C ++调用MATLAB函数。图形(绘图)将显示为您正在运行本地MATLAB一样。程序启动时,会创建一个MATLAB控制台。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接