This question is closed. Reopen it to edit or answer.

Trying to Implement a Function in Simulink

1 view (last 30 days)
Ashish Yadav
Ashish Yadav on 30 Jul 2018
Closed: MATLAB Answer Bot on 20 Aug 2021
Hi, I am trying to implement a function inside the Simulink model and it gives me the following errors. "Computed Maximum size is not bounded" for parameters that r used inside the function. If I run the function as it is from the command window then it gives me 0 errors. The input to the function is (double[4x1], double[1x1], double[1x1] ) and the output is a profile whose length is decided inside the function.
I am attaching a view with the diagnostic viewer and with Matlab coder app.
Cheers!! Ash

Answers (1)

Denis Gurchenkov
Denis Gurchenkov on 31 Jul 2018
The version of MATLAB Coder that you have supports generating code for matrices of unbounded size (it generates C code that calls malloc/free to allocate memory for those matrices). Your version of Simulink does not have that feature -- it wants all matrices to have a known upper bound.
You can either upgrade to a newer release (as of now, currently shipping release of Simulink does not have that limitation), or add hint in the code, helping Simulink to know what is the biggest size of that matrix.
the bottom line: add
assert(len < 1000);
before the zeros(len, 1)
and that should help.

Community Treasure Hunt

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

Start Hunting!

Translated by