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!