将Matlab代码转换为C代码

3
有没有一种自动将Simulink块或Matlab“.m”代码转换为C代码的方法?
2个回答

3
我不知道有任何直接的翻译工具,但是有几个替代方案:
  1. Matlab Compiler可以让您从.m代码创建一个共享库(可从C代码调用)。
  2. GNU Octave是一个开源解释器,具有许多与Matlab相同的功能。它是开源的,并且用C编写。您可能可以基于此构建一个C库,尽管它比选项(1)更加重量级。

但我认为您需要一个支持Matlab编译器的许可证。 - yasouser
正确--您需要支付Matlab编译器的费用。第三个潜在选项:Octave也可以用作共享库(在文档中查找“#include <octave/oct.h>”)。这可能是一个不错的折中方案:手动将基本的.m代码转换为C ++,使用Octave API提供的高级Matlab风格函数。 - phooji

2
要将Simulink模型或MATLAB m-code转换为C代码,您需要Real-Time Workshop。它仅支持MATLAB语言的子集,并面向嵌入式系统。
还可以查看其他MathWorks产品,用于代码生成和应用程序部署:http://www.mathworks.com/products 使用MATLAB编译器,您将不会获得C代码,而是获得二进制代码、可执行文件或库(dll),它可以在没有安装MATLAB但有MATLAB编译器运行时(MCR)库的计算机上运行。它的大小相当大,且平台特定,我相信它必须与编译代码的MATLAB版本匹配。
对于即将发布的2011a版本,MathWorks开发了新的代码生成产品:MATLAB CoderSimulink CoderEmbedded Coder

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