Columns with at least one zero element

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

 Accepted Answer

Mischa Kim
Mischa Kim on 16 Jun 2014
Edited: Mischa Kim on 16 Jun 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 Comment

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

Sign in to comment.

More Answers (2)

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 Comments

This answer also works ! thx guys
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...

Sign in to comment.

Categories

Find more on Mathematics in Help Center and File Exchange

Tags

Asked:

on 16 Jun 2014

Commented:

dpb
on 16 Jun 2014

Community Treasure Hunt

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

Start Hunting!