保存Matlab工作区而不保存或删除数字

时间:2016-06-30 18:54:19

标签: matlab matlab-figure

save命令的文档说,如果您不想让*.mat文件陷入困境,则应删除数字。我定期save*.mat文件,并在发出clf后重新使用我的数字。我不想只删除它save *.mat文件,然后打开一个新的数字。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:5)

如果您知道要保存的所有变量,则可以在调用save时显式保存所需的变量。

save('output.mat', 'variable1', 'variable2', 'variable3');

或者,如果要在工作区中保存不是图形句柄的所有变量,可以使用以下内容:

% Get a list of all variables
allvars = whos;

% Identify the variables that ARE NOT graphics handles. This uses a regular
% expression on the class of each variable to check if it's a graphics object
tosave = cellfun(@isempty, regexp({allvars.class}, '^matlab\.(ui|graphics)\.'));

% Pass these variable names to save
save('output.mat', allvars(tosave).name)

这不会保存任何图形(或任何图形对象),也可以让它们保持打开状态。