save all variables of the workspace excluding the graphical objects within a function

2 ビュー (過去 30 日間)
Hello, I would like to define a function saving all the variables in the base workspace, excluding all figures object. the reason for trying to do it within a function is because I want to be able to define the name of the file where the variables will be saved and pass this name as argument to the function. I found a way to do it outside a function http://stackoverflow.com/questions/38131166/save-matlab-workspace-without-saving-or-deleting-figures but this won't work within a function as it will only save the local variables of the function.
I could go on without defining this function but it would be much better if I could set the name of the saved file without opening the .m file every time to change it.
Thanks in advance,
Bastien

採用された回答

Walter Roberson
Walter Roberson 2017 年 1 月 26 日
evalin('base', 'whos')
This will get you a structure with a list of variables. You can examine the class field to rule out ones that definitely not graphics. The ones that are left, you can loop through evalin base testing for graphics. In particular for R2014b or later, https://www.mathworks.com/help/matlab/ref/isgraphics.html . (But double-check what happens to graphics objects that have been marked as deleted.)

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeGraphics Object Programming についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by