I want to save variables from a nested function into the parent function workspace so that I can use these variables again in another nested function. How do I do this?
13 ビュー (過去 30 日間)
古いコメントを表示
parent function ...
%user input numbers that go into BeamReactions
BeamReactions(BeamLength,BeamMass,Load,LoadX,LoadAngle)
%this is the function that I want to use answers from BeamReactions in
BeamLoadPlot(BeamLength,BeamWeightN,BeamWeightN_X,Load,LoadX,LoadAngle,FA_Y,FB_X,FB_Y)
0 件のコメント
回答 (3 件)
Walter Roberson
2018 年 3 月 23 日
Don't do that. Instead, inside the parent function but before the definition of either nested function, assign some value to the variables, even if just []. That tells MATLAB that the variable is to be shared.
Stephen23
2018 年 3 月 23 日
The whole point of nested functions is that you don't have to pass data as input/output arguments. All you need to do is define those variables in the workspace of the main function, and then all of the nested functions can access them:
function val = mymain()
val = [];
mynest()
function mynest()
val = 2;
end
end
Try calling it and see what the output is.
Selin Ertunan
2022 年 12 月 1 日
hello, what exactly do we need to write inside the parentheses? When I write the code like this, I can see the nested variables, but still cannot save them as files.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Scope Variables and Generate Names についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!