Borrar filtros
Borrar filtros

Best way to specify parameters for a Simulink Embedded Matlab Fcn

2 visualizaciones (últimos 30 días)
I have a fairly large Embedded matlab function that calls 20 other functions that are referenced below in the same Matlab Fcn block. Now, I have a large set of parameters that are used across these 20 functions. What is the best way to specify these variables? I tried supplying them as "Global variables" but then, MATLAB is throwing errors because global variables vary and the dimensions of the matrix based on them is of dimensions [:?x:?]. I tried supplying them as parameters, but then the sub-functions can't access them. I'm now running out of ideas... Please help.
Many thanks!
  2 comentarios
Kaustubha Govind
Kaustubha Govind el 26 de Jun. de 2013
Defining them as parameters seem like the right thing to do. Are you not passing the parameters into the sub-functions - they should become accessible that way.
surya
surya el 26 de Jun. de 2013
Thanks Kaustubha for your quick response :-) My problem is I have too many paramters, now if i pass them as arguments for every function, the code just looks messy. So I'm trying to figure out a more elegant way. Besides, while I developed the code in MATLAB, I gladly put them all as 'global'. Now to change in all the 20 odd sub-functions seems gigantic and messy task. One other thing i'm thinking of is, add another function at the bottom of the code : function varargout = parameterfile and this would hold all the parameters, i shall call this as necessary among various functions. What do you think? Many thanks!

Iniciar sesión para comentar.

Respuesta aceptada

surya
surya el 3 de Jul. de 2013
Finally! %#codegen gives the capability of passing the parameters as a structure and that is neat now.
Thanks!

Más respuestas (0)

Categorías

Más información sobre Simulink Functions en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by