Is it possible for a Simulink block to access variables loaded from a MAT-file in the local workspace of a function?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
MathWorks Support Team
el 28 de En. de 2011
Editada: MathWorks Support Team
el 2 de Sept. de 2015
I have a function in which I load variables from a MAT-file and then start a Simulink model using the SIM function. The function looks as follows:
function startfun
load 'mymatfile.mat'
sim('mymodel');
end
The model contains some constant blocks which use the loaded variables for their "Constant value" parameter. However, running startfun results in the following error:
ERROR: ??? Error using ==> startfun at 4 Error evaluating parameter 'Value' in 'mymodel/Constant': Undefined function or variable 'myvar'.
where myvar is a variable saved in my MAT-file and that I use for the constant value in a constant block.
Respuesta aceptada
MathWorks Support Team
el 2 de Sept. de 2015
Simulink blocks like the Constant block read variables from the base workspace. As such, variables loaded in a function's local workspace are invisible to these blocks.
As a workaround, use EVALIN inside your function to load the MAT-file in the base workspace:
function startfun
evalin('base','load mymatfile.mat');
sim('mymodel');
end
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Programmatic Model Editing 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!