How to save variables in MATLAB function in the workspace
48 次查看(过去 30 天)
显示 更早的评论
Good day.
I have a MATLAB function which I run from a script. I want to plot some variables in the function from my script so I want to save these variables in my workspace. Is there any way to do it other than using them as an output to the function when I call it from the script? The variables are many so I am trying to avoid too many output arguments.
Thanks now and always.
1 个评论
Stephen23
2020-5-29
Messing around with assignin or lots of output variables is not a good approach.
Just assign the variables to fields of a structure and return that. Simple.
采纳的回答
Robin Kirsch
2020-5-29
Use assignin command
function y = test()
assignin('base','x',42)
y = 0
end
4 个评论
Robin Kirsch
2020-5-29
this works only if you run your function first and then run your script to plot the variables of course
更多回答(1 个)
Cris LaPierre
2020-5-29
You could also consider placing the variables in a structure. That way, your function only needs to have one output, yet all the variables can be passed out.
9 个评论
Cris LaPierre
2020-6-1
Just to clarify, that wasn't Stephen's suggestion. His recommendation was NOT to do that. He suggested using a structure, as did I. That would likely be the quickest approach since you don't have to write the variables to the workspace or the harddrive.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Whos 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!