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

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."

답변 (1개)

Nicolas B.
Nicolas B. 2019년 12월 10일

0 개 추천

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

Yes, but I have written that i had chosen the "Variable size" option and it does not work.
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.
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.
Than, you could refer to the answer given in this post:
Apparently, the answer worked.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Simulink Functions에 대해 자세히 알아보기

태그

질문:

2019년 12월 9일

댓글:

2019년 12월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by