Why do I receive "Error in port widths or dimensions"?
5 次查看(过去 30 天)
显示 更早的评论
I have a system as shown in the picture. y is a scalar defined in the function(also shown in picture).
However I have received such errors. Why is this happening?
Error in port widths or dimensions. Invalid dimension has been specified for 'input port 2' of 'slxlx/Add'.
Error in port widths or dimensions. 'output port 1' of 'slxlx/Transfer Fcn' is a one dimensional vector with 1 elements.
2 个评论
Infinite_king
2024-8-5
Hi 禹辰,
It looks like the dimensions of some signals are not as expected by the solver. Check the dimensions of various signals in your model and verify that they match your expectations. Focus specifically on the 'Add' block input and the 'Transfer Fcn' output, as the errors suggest issues with these blocks.
For more detailed information on how to view signal dimensions, refer to this MATLAB resource :- Signal Dimensions Display
回答(1 个)
Fangjun Jiang
2024-8-9
编辑:Fangjun Jiang
2024-8-9
Simulink uses forward propagation and back propagation to determine the size of the signal. There is a conflict in this propagation in your model.
The root cause seems to be from the square "Add" block on the left. It seems to be that there is enough info to determine the size of the output of this "Add" block is 4. The size of the first input of this "Add" block is 1. The only chance that this could work is that the second input of this "Add" block is 4. But it is not. It is determined to be size 1.
Check the downstream signal of that square "Add" block. See if there is anywhere that specify that signal to be size 4. It probably should be size 1. Correct that then your model should be working properly.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Sources 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!