length of vector
1 view (last 30 days)
Show older comments
hi, I want to know length of vector I have array as:
1 2 3 3 4 0 0 0 0
3 4 5 6 1 2 3 0 0
4 5 1 34 1 1 1 2 1
I need to know length of each row(non zero values) I know is 3*9, but i need to know length of each row with non zero values that found in end of row without using for loop or while
thanks
1 Comment
Fangjun Jiang
on 5 Nov 2011
After posting you question, if you care to take a look at your own question, you'll see something is not right (formating). You've been asking enough questions and seeing enough answers to learn to use the {}Code format.
Answers (2)
Andrei Bobrov
on 5 Nov 2011
d = reshape([1 2 3 3 4 0 0 0 0 3 4 5 6 1 2 3 0 0 4 5 1 34 1 1 1 2 1],9,[])'
out = sum(d~=0,2)
0 Comments
Walter Roberson
on 5 Nov 2011
sum(d(d(:,end)~=0,:) ~= 0,2)
Personally, though, I would have thought that if you want to know the number of non-zero elements in the rows that end in non-zero elements, that it would help to know which of the original rows each count was associated with. Or at least that a 0 be put in as a place-holder in the counts if the line ended in a 0 and thus was not to have its values counted.
0 Comments
See Also
Categories
Find more on Logical 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!