Matrix Indices Problem
Show older comments
Given a matrix e.g. A = [0 1 2 0 0; 0 3 4 5 0; 6 7 8 9 10; 0 0 0 11 0]
what MATLAB code will generate a vector of the column numbers of the first non-zero element in each row?
For this example the vector returned should be: [2;2;1;4]
Accepted Answer
More Answers (1)
Andrei Bobrov
on 15 Aug 2011
size(A,2)+1-sum(cumsum(A,2)~=0,2)
more
(sum(cumsum(A')==0)+1)'
2 Comments
mutt
on 15 Aug 2011
Andrei Bobrov
on 16 Aug 2011
Hi Mutt! my variant:
sum(cumsum(flipud(A'))>0)'
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!