How can i keep my variables after running the function?
128 次查看(过去 30 天)
显示 更早的评论
I have written a function that does some data anlayising on a table and then I have another function that uses that analysed data and does further analyses on it. The two functions used to be one but I have separated them. Is it possible to keep the variables once a function has run as currently all the variables in the function are cleared after running it.
Many thanks,
Nima
2 个评论
Stephen23
2019-7-15
By far the simplest, neatest, and most efficient way to pass variables from one workspace to another is to pass them as input/output variables. Have you tried doing that?
采纳的回答
Adam Danz
2019-7-15
编辑:Adam Danz
2019-12-2
" Is it possible to keep the variables once a function has run "
Yes.
Add outputs to your function if variables are immediately needed in other functions or scripts.
Otherwise, you can save any (or all) variables within a function by calling save(filename,variables) at the end of the function (for troubleshooting purposes).
If you are running a script, any variables within the script are already available in the caller workspace.
3 个评论
Guillaume
2019-7-17
编辑:Guillaume
2019-7-17
"I hesitate to suggest save, as it encourages saving the entire workspace and then poofing them back with load."
In addition round-tripping through a file is never going to be fast. It's certainly not the way to go.
If the two functions must share the same entire workspace then there's a fundamental design issue. If it's only a few variables, then inputs and outputs are definitiively the way to go. If it's the whole workspace then i'd question if the code should have been split.
Adam Danz
2019-7-17
编辑:Adam Danz
2019-7-17
I added a caveat to the save() suggestion. Sometimes this approach is useful when troubleshooting a function that takes a long time to run and breaks only seldomly. As far as passing variables between functions, the save/load approach is clearly a bad idea.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!