好吧,Matlab Coder 能够在某些限制下将.m
文件转换为函数。mex
例如,不能在.m
要转换的文件中调用 mex 函数。
但是这个限制是否只针对那些我们没有源代码的 mex 函数?
也就是说,如果我们有一个函数的 C mex 源代码,并且该函数在一个 Matlab 函数内部被调用,像这样:
function result = fun() %#codegen
a = ...; %complex large-scale matrix operations
result = cFun(a);
end
如上所述,cFun()
可以使用 mex 用 C 编写以提高性能,但在 Matlab 中而不是 C 中编写矩阵运算可能会更好。
因此,如果我们能提供转换成的源代码cFun()
和使用,我们将受益于 Matlab 中矩阵运算的便利性,以及 C 甚至 OpenCL 中某些运算的性能。Matlab Coder
fun()
mex
但有可能吗?
谢谢!