Weird Port width mismatch error.

I got the sollowing error:
Port width mismatch. Input 'signal' expects a signal of size [1.3608e+06x1]. The signal received is of size [1360800x1].
However, 1.3608e+06 is exactly 1360800. How to dispose the error message?

1 个评论

Hi Lorant,
Assuming this is Simulink, can you post a screen shot of the relevant portion of the model that's causing the error and the full text of the error message that comes up in the diagnostics window? Overlay the signal dimensions on the diagram from Debug -> Information Overlays.
Also, I wonder if there is a maximum allowable dimension for a signal. I coudn't find that info in the documentation.

请先登录,再进行评论。

回答(1 个)

A = 1.3608e+06
A = 1360800
B = A+1
B = 1360801
fprintf('A = %.4e\n', A)
A = 1.3608e+06
fprintf('B = %.4e\n', B)
B = 1.3608e+06
A == B
ans = logical
0
The two values both display as 1.3608e+06 but the values are not the same.

2 个评论

Ok, but how could I find out what numbers he expect? If I click on the error, then I see:
CompiledSize:[1360800, 1]
and the arrow that going in has also 1360800x1.
So what is the problem? Why do I get error, and how to get rid of it?
Does this happen to be for a MATLAB Function Block, or is the signal output of a MATLAB Function Block? And if so then is the size of the array being calculated in terms of an expression that involves either division or non-integer values ? For example 13608000*0.1 is not guaranteed to be exactly the integer 1360800

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Event Functions 的更多信息

产品

版本

R2023a

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by