Hello我试图通过命令“coder”将函数转换为.mex函数。我的一个输入是稀疏双矩阵。当编码器要求定义变量'Mf'的类型时,我将其设置为double(:inf x:inf)。它构建它并且当它运行它停止时,它会停止并显示以下消息:“MATLAB表达式'Mf'不是正确的稀疏性”
我将不胜感激任何建议和解决方案。谢谢!
答案 0 :(得分:0)
MATLAB Coder目前不支持sparse matrices。
根据数据的大小,您可以考虑在调用MEX函数之前将输入转换为完整矩阵。
如果生成MEX函数的目的是加速部分代码,可以考虑为代码中的函数生成MEX函数,这些函数不需要稀疏,并从其他MATLAB代码中调用。这样,您可以加速部分代码,并在需要时仍然使用稀疏。