Columns with at least one zero element

8 vues (au cours des 30 derniers jours)
Anya
Anya le 16 Juin 2014
Commenté : dpb le 16 Juin 2014
Hi,
If I have a matrix with random dimension mxn , how can I detect a column which have at least one zero element?
Thank you

Réponse acceptée

Mischa Kim
Mischa Kim le 16 Juin 2014
Modifié(e) : Mischa Kim le 16 Juin 2014
Anya, you could use
A = [1 2 3 0 8; 5 0 1 2 2];
col = find(sum(A==0))
col =
2 4
col shows the columns which have at least one zero.
  1 commentaire
dpb
dpb le 16 Juin 2014
Just for comparison...
>> A = [1 2 3 0 8; 5 0 1 2 2];
>> (sum(A==0))
ans =
0 1 0 1 0
>> all(A)
ans =
1 0 1 0 1
>> ~all(A)
ans =
0 1 0 1 0
>>

Connectez-vous pour commenter.

Plus de réponses (2)

Jos (10584)
Jos (10584) le 16 Juin 2014
Let M be your mxm matrix:
tf = any(M==0,1) % true for columns with at least 1 zero
C = M(:,~tf) % columns with no zeros
  2 commentaires
Anya
Anya le 16 Juin 2014
This answer also works ! thx guys
dpb
dpb le 16 Juin 2014
NB:
any(M==0) --> identically equal to ~all(M). One rarely (if ever) needs to expressly test for zero.
See the doc for each for details...

Connectez-vous pour commenter.


dpb
dpb le 16 Juin 2014

Catégories

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

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by