How to delete workspace empty variables

4 vues (au cours des 30 derniers jours)
xander fong
xander fong le 21 Juil 2015
Commenté : bio lim le 21 Juil 2015
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 commentaire
xander fong
xander fong le 21 Juil 2015
note that, the variables arent empty themselves. Rather, they are cell arrays of certain dimensions filled with empty cells

Connectez-vous pour commenter.

Réponses (1)

bio lim
bio lim le 21 Juil 2015
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 commentaires
xander fong
xander fong le 21 Juil 2015
not working :/
bio lim
bio lim le 21 Juil 2015
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

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by