启动R2014b Matlab改变了使用save
命令保存变量的方式; Matlab还改变了图形句柄的保存方式,现在将它们保存为结构。如果在工作区中有图形句柄,Matlab需要更长的时间来保存mat
文件,mat文件的大小很大,当你加载文件时,所有保存的数字都会弹出,这让我很恼火。它还会产生警告:
Warning: Figure is saved in Oakley_19_PDEparameterEstimation.mat. Saving graphics handle variables can cause the creation
of very large files. To save graphics figures, use savefig.
我有一个简单明了的问题:
如何避免保存所有图形句柄?
请不要建议我可以clearvars
在保存之前计算出句柄。
由于
答案 0 :(得分:3)
您可以使用whos
和save获取有关当前工作空间变量的信息,只有那些类不是图形句柄对象的变量(即类名称字符串不包含'matlab.graphics'
或'matlab.ui'
):
varData = whos;
saveIndex = cellfun(@isempty, regexp({varData.class}, 'matlab.(graphics|ui)'));
saveVars = {varData(saveIndex).name};
save('no_handles.mat', saveVars{:});
答案 1 :(得分:0)
您可以选择保存的变量。
示例:
save('data.mat', 'var_name1', 'var_name2', 'var_name3');
其中var_name1
等...是您要保存的变量的名称。