Removing columns containing zeros
15 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Oliver Vavasour
le 27 Avr 2016
Réponse apportée : Andy
le 20 Mai 2018
I have a 2x500 matrix containing data. Some columns contain only zeros and I need to remove these (forming, say, a 2x460 matrix when 40 columns contained zeros).
Similar questions have been asked and answered about cell arrays which give commands such as:
m = m(cellfun(@ischar,m(:,1)),:);
These commands produce the error 'Input #2 expected to be a cell array, was double instead' when I use my matrix in place of 'm'
0 commentaires
Réponse acceptée
Plus de réponses (1)
Andy
le 20 Mai 2018
If you've got a table w/ various variable names that you want to keep, you might do:
function pTable = aRemoveZeroTableColumns(primersTable)
%
%
%
pTable = primersTable;
indexes = [];
for i = 1:numel(primersTable.Properties.VariableNames)
column = primersTable{:,i};
if all(column == 0)
indexes = [indexes, i];
end
end
pTable(:,indexes) = [];
end
0 commentaires
Voir également
Catégories
En savoir plus sur Creating and Concatenating Matrices 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!