dealing with variable size signals

5 views (last 30 days)
Berkin Birol
Berkin Birol on 12 Nov 2018
Edited: Walter Roberson on 14 Nov 2018
Hello all,
I am dealing with variable sized outputs of Matlab fuctions in Simulink and blocks which does not support variable sized inputs (unit delay, demux etc.)
I have several matlab functions, which have vector outputs. While compiling, I get errors that I should specify these outputs as variable sized outputs and identify the maximum vector dimesion.
In my model, these type of outputs shall connect to an unit delay or demux, depending the function/output. But, again, while compiling, I get the following error:
" Simulink cannot propagate the variable-size mode from the output port 2 of 'XXX' to the input port 1 of 'XXX/Demux'. This input port expects a fixed-size mode. The variable-size mode originates from 'XXX'. Examine the configurations of 'XXX/Demux'' for one of the following scenarios: 1) the block does not support variable-size signals; 2) the block supports variable-size signals but needs to be configured for them."
How can I manage these errors, what blocks should I use, any suggestions?
Thanks in advance
  2 Comments
Walter Roberson
Walter Roberson on 12 Nov 2018
I wonder if transfer functions accept variable-sized signals? If they do then that might be a way to get a delay.
But demux does rely upon signals being fixed length. Perhaps you need to be using a bus.
Berkin Birol
Berkin Birol on 14 Nov 2018
Edited: Walter Roberson on 14 Nov 2018
Thank you for the quick solution, but I managed not to use variable signals somehow :) Now this problem is solved but I have new problems https://www.mathworks.com/matlabcentral/answers/429910-simulink-matlab-function-size-mismatch-error :)

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!