Is it possible for a Simulink block to access variables loaded from a MAT-file in the local workspace of a function?
1 次查看(过去 30 天)
显示 更早的评论
MathWorks Support Team
2011-1-28
编辑: MathWorks Support Team
2015-9-2
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.
采纳的回答
MathWorks Support Team
2015-9-2
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 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Programmatic Model Editing 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!