How to delete workspace empty variables

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 件のコメント

xander fong
xander fong 2015 年 7 月 21 日
note that, the variables arent empty themselves. Rather, they are cell arrays of certain dimensions filled with empty cells

サインインしてコメントする。

回答 (1 件)

bio lim
bio lim 2015 年 7 月 21 日

1 投票

a=who;
for var=1:length(a)
b=eval([a{var}]);
if isempty(b)
eval(['clear ' a{var} ';'])
end
end
clear a b
Source. Also look at here.

2 件のコメント

xander fong
xander fong 2015 年 7 月 21 日
not working :/
bio lim
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

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeVariables についてさらに検索

質問済み:

2015 年 7 月 21 日

コメント済み:

2015 年 7 月 21 日

Community Treasure Hunt

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

Start Hunting!

Translated by