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?
3 次查看(过去 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!