MATLAB Answers

How can I define variable output size of Matlab function in Simulink?

9 views (last 30 days)
sdsd sdsd
sdsd sdsd on 9 Dec 2019
Commented: Nicolas B. on 10 Dec 2019
I cannot define variable output size of Matlab function in Simulink. I got to "Edit Data" window, choose my output, tick the "Variable size" box, then define size as "1 N" where N is an variable from different script, and it does not work. Matlab shows message: "Size computation for 'y' failed. Unknown var 'N' used in size definition."

  0 Comments

Sign in to comment.

Answers (1)

Nicolas B.
Nicolas B. on 10 Dec 2019
I also experienced that problem. When using the MATLAB Function block, I learned to always define the size of the inputs and outputs to avoid any trouble.
To do so:
  1. right-click on your block
  2. explore (it opens the Model Explorer directly at the right place)
  3. you should see the list of inputs and output of your MATLAB Function in the central part of the window
  4. For each variable:
  5. Click on it
  6. Set the variable size on the right part of the window
  7. Click on Apply button
  8. Once you have set all variables, you can close the Model Explorer and tada, it should work!

  4 Comments

Show 1 older comment
Nicolas B.
Nicolas B. on 10 Dec 2019
I don't know how the "model parser" of Simulink works, but with MATLAB Function block, I would recommend to always define the size (e.g. [2x1]) and not use "Variable size". You avoid a lot of potential problems while running your models.
sdsd sdsd
sdsd sdsd on 10 Dec 2019
Problem is that I have to use this option :/ Otherwise I will have to recreate my model basically from scratch using different method. While setting for example [1x24] everything is fine, but it would become complicated later on as model will be much more expanded.

Sign in to comment.

Sign in to answer this question.


Translated by