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