Trying to Implement a Function in Simulink

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.
Thanks.
Cheers!! Ash

Respuestas (1)

Denis Gurchenkov
Denis Gurchenkov el 31 de Jul. de 2018

0 votos

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.

La pregunta está cerrada.

Productos

Versión

R2015b

Preguntada:

el 30 de Jul. de 2018

Cerrada:

el 20 de Ag. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by