note that, the variables arent empty themselves. Rather, they are cell arrays of certain dimensions filled with empty cells
How to delete workspace empty variables
10 ビュー (過去 30 日間)
古いコメントを表示
Hello, I have a script that creates tons of variables in my workspace. However, some of them are worthless. For example, one will be a 3x1 cell array that is [ [] [] [] ]. How do I delete all these variables that are filled with empty cells?
回答 (1 件)
bio lim
2015 年 7 月 21 日
2 件のコメント
bio lim
2015 年 7 月 21 日
This should work assuming your variables are cell arrays.
c = cell(1,3); % Cell c and e are empty
d = cell(1,2);
e = cell(1,5);
d{1,1} = 4;
d{1,2} = 7;
var = who;
for var_num = 1 : length(var)
if iscell(eval([var{var_num}]))
e = cellfun(@isempty, eval([var{var_num}]));
h = true(size(eval([var{var_num}])));
if isequal(h,e)
eval(['clear ' var{var_num} ';'])
end
end
end
clear var var_num e h
% Remaining variable is d
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!