Declare 'eval' function in Embedded MATLAB

7 visualizaciones (últimos 30 días)
Tong-Seop
Tong-Seop el 4 de Mzo. de 2011
I made a secant method for complicated equation in MATLAB edit space. Like this... Function y = fcn(st, cq, a, g, ...) f=''3600 * st * cq * a * ((((2 * g * gam * pi)..........'; (Flow Function eq)
Of course, there is simple secant method.
n=0; x = xa; fa = eval(f); x = xb; fb = eval(f); .......
and then I put this script in Embedded MATLAB of Simulink. For 'eval' function, I also put 'eml.extrinsic('eval') in it.
When I start the simulation, I could see an error *"Call to MATLAB function aborted : Error using ==> eval Undefined function or variable 'st'."*
Thanks for your help.

Respuesta aceptada

Walter Roberson
Walter Roberson el 4 de Mzo. de 2011
And does "st" indeed exist in your matlab workspace at the time? When you construct a string like that, the current value of the variable is not recorded.
If it is allowed on embedded systems, you would be better of constructing f as an anonymous function
f = @(x,n) 3600 * st * cq etc
and then you would invoke
fa = f(x, n);
fb = f(x, n);
  1 comentario
Tong-Seop
Tong-Seop el 4 de Mzo. de 2011
st, cq... are input data from simulink.
Thanks for your kindness.
But I'm not sure that the anonymous function (you made) is possible in embedded matalb.
But thanks, it helped.

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by