Columns with at least one zero element
2 views (last 30 days)
Show older comments
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
0 Comments
Accepted Answer
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
dpb
on 16 Jun 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
>>
More Answers (2)
Jos (10584)
on 16 Jun 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 Comments
dpb
on 16 Jun 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...
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!