# How to remove rows with zeros in selected columns?

5 vues (au cours des 30 derniers jours)
Emma Kuttler le 24 Fév 2022
I have a matrix with 1363 rows and 21 columns. The first column is an identifier (1-21). I need to delete all rows that contain all zeroes with the exception of the first column. For example,
a = [ 1 0 5 0 6
2 0 0 0 0
3 3 5 9 12
4 0 0 0 0
5 6 9 1 0]
I want to produce b
b = [ 1 0 5 0 6
3 3 5 9 12
5 6 9 1 0]
##### 0 commentairesAfficher -2 commentaires plus anciensMasquer -2 commentaires plus anciens

Connectez-vous pour commenter.

### Réponse acceptée

Scott MacKenzie le 24 Fév 2022
Modifié(e) : Scott MacKenzie le 24 Fév 2022
There is probably a simpler solution, but this will work...
a = [ 1 0 5 0 6
2 0 0 0 0
3 3 5 9 12
4 0 0 0 0 ]
a = 4×5
1 0 5 0 6 2 0 0 0 0 3 3 5 9 12 4 0 0 0 0
zeroIdx = ~sum(~a(:,2:end) == 0,2);
a(zeroIdx,:) = []
a = 2×5
1 0 5 0 6 3 3 5 9 12
##### 0 commentairesAfficher -2 commentaires plus anciensMasquer -2 commentaires plus anciens

Connectez-vous pour commenter.

### Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

R2019b

### Community Treasure Hunt

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

Start Hunting!

Translated by