2

我在 simulink 中实现了一个 c-mex 函数来加速两个矩阵的乘法。到目前为止它正在工作,但我发现输入排序/序列取决于连接的例如常量的命名模式。我附上两张图片进行说明:首先,我将输入命名为 Constant 和 Constant1。然后,输入序列符合预期。 在此处输入图像描述 将 Constant 更改为 Constant2 时,输入序列会发生变化,因此我的 c-mex 函数不正确。 在此处输入图像描述 现在,我的问题是如何改变这种行为?如果不可能,我该如何实现解决方法,因为矩阵乘法的顺序通常非常重要。

4

1 回答 1

0

我找到了解决方案。当您还在 mdlSetInputPortDimensionInfo 中打印端口时,您会看到根据命名模式,调用的顺序是不同的。我的解决方法是根据我用 ssGetInputPortDimensionSize 读回的 InputDimension 在 mdlSetDefaultPortDimensionInfo 中设置输出端口尺寸。

完整代码可以在 Github 上找到: https ://github.com/steffenmauch/Simulink-Eigen3

于 2014-12-28T10:52:07.743 回答