如何在Simulink下更正“ S函数'X'的默认端口尺寸功能中的错误。功能未完全设置输出端口x的尺寸”?

时间:2019-01-03 13:21:43

标签: matlab controls simulink

我是一名硕士生,并且正在研究电气工程-控制系统。 我(由我的主管教授分配)来模拟反馈线性化控制方法,因此我选择了一篇论文(如下所示),并为此创建了simulink模型。问题是当我尝试运行仿真时,它给出了错误: S功能“ FeedbackLinearization / Controller”的默认端口尺寸功能出错。此功能未完全设置输出端口2的尺寸 因此,我打开了信号尺寸显示屏,以检查信号尺寸并检查是否出错。我看到“ e”信号有问题。它应该是3 * 1向量,指示跟踪x-y-z的错误。如您所见,多路复用器输出的尺寸为3,所以一切正常。问题在于,当信号到达某个块(MATLAB函数或微分)时,其尺寸会减小到一个。我已经附上我的slx模型,所以请您多多关照。 我已经检查了控制器Matlab函数和Plant Matlab函数,它们都工作正常。 请帮我。这对我来说至关重要!感谢您的时间和考虑!

论文: http://uupload.ir/view/z9mg_aminfl.pdf/

潜在的问题在这里发生: http://uupload.ir/files/jc3k_capture.jpg

1 个答案:

答案 0 :(得分:0)

在模型中,当存在反馈回路时,有时如果输入尺寸取决于输出尺寸,则尺寸无法成功传播。该模型可能在该类别中。为了解决这种情况,应在知道大小的位置插入“信号规范”块。例如,在多路复用器的输出处。

https://www.mathworks.com/help/simulink/slref/signalspecification.html?s_tid=doc_ta

如果将此块插入到已作圆圈的Mux的输出中,则可以将标注参数设置为3,所有其他参数都默认设置。