使用代码包将matlab代码转换为.mex

时间:2012-01-03 15:16:52

标签: matlab matlab-compiler

我想通过将代码转换为C \ C ++来优化用Matlab编写的函数。结果应该可以在matlab中调用,因为它只是较大的matlab代码的一小部分。

例如,将我的函数转换为包含在.mex文件中的C代码将起作用。 我听说matlab编程器包可以帮助你。

由于我对这个软件包不熟悉,实现这个目标的最快方法是什么?

1 个答案:

答案 0 :(得分:2)

如果你有MATLAB Coder的许可证,那么,是的,这是正确使用的包。您正在寻找的功能是codegen。代码生成中可以使用的内容有限制:要查看您的函数是否符合这些限制,请将标记%#codegen添加到函数的开头,如下所示

function foo(bar) %#codegen
    <your code here>

并在MATLAB编辑器中打开函数文件。标签告诉编辑器检查代码是否符合代码生成规则。一旦编辑器显示您的代码符合这些规则,生成mex文件可能就像

一样简单
>> codegen foo

会在当前文件夹中生成一个mex文件foo_mex。对于您的特定功能,您可能需要使用codegen的一些可选参数来正确生成mex文件。