Effacer les filtres
Effacer les filtres

How to delete workspace empty variables

3 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.

Catégories

En savoir plus sur Data Type Conversion dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by