我在simulink中实现了一个c-mex函数,用于加速两个矩阵的乘法运算。 到目前为止,它正在工作,但我发现输入排序/序列取决于连接的命名模式。常量。 我附上两张图片作为解释: 首先,我将输入命名为Constant和Constant1。然后,输入序列如预期的那样。 将Constant更改为Constant2时,输入序列会更改,因此我的c-mex函数不正确。 现在,我的问题是如何改变这种行为? 如果不可能,我如何实现变通方法,因为矩阵乘法的排序通常非常重要。
答案 0 :(得分:0)
我找到了解决方案。当您还在mdlSetInputPortDimensionInfo中打印端口时,您会看到根据命名模式,调用的顺序是不同的。 我的解决方法是根据我用ssGetInputPortDimensionSize读回的InputDimension,在mdlSetDefaultPortDimensionInfo中设置输出端口维度。
完整的代码可以在Github找到: https://github.com/steffenmauch/Simulink-Eigen3