Simulink:将矩阵传递到模型时出现端口宽度或尺寸错误

问题描述 投票:0回答:1

我正在尝试创建一个 simulink 模型来执行一些矩阵乘法,但我似乎无法获得正确的输入。

这是模型的设置。风和重力是 3x1 向量,DCM 是来自 6DOF 固定质量物体的 3x3 矩阵。

模型的使用

模型本身看起来像这样:

模型内容

给定维度,预期的乘法结果应为 (3x3) * (3x1) = (3x1)。 但是,在运行模拟时,我遇到了几个尺寸不匹配错误。

Error using uavsim (line 7)
Error due to multiple causes.
Caused by:
    Error using uavsim (line 7)
    Error in port widths or dimensions. 'Output Port 1' of 'storm_uav/Constant2' is a [3x1] matrix.
    Error using uavsim (line 7)
    Error in port widths or dimensions. 'Input Port 1' of 'storm_uav/Model5' is a one dimensional vector with 1 elements.

我不确定这里的问题是什么,因为我认为尺寸应该是正确的。似乎我无法将向量传递给给定的模型,因为该模型需要一些其他维度,即使它应该被继承?

非常感谢您的帮助。

matlab input model matrix-multiplication simulink
1个回答
0
投票

您正在使用模型参考,我对此不太熟悉,但它是一种预编译块。根据帮助中心,这样的块具有“定义的接口”,这使得“引用的模型独立于模型层次结构中的上下文”。

因此输入尺寸可能不会因为这个原因被继承。您可以通过直接复制并粘贴此块的内容到常规子系统中来验证这一点,以检查它是否按预期工作。

© www.soinside.com 2019 - 2024. All rights reserved.