フィルターのクリア

How to delete workspace empty variables

3 ビュー (過去 30 日間)
xander fong
xander fong 2015 年 7 月 21 日
コメント済み: bio lim 2015 年 7 月 21 日
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 日
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

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

カテゴリ

Help Center および File ExchangeData Type Conversion についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by