length of vector

1 view (last 30 days)
huda nawaf
huda nawaf on 5 Nov 2011
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
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.

Sign in to comment.

Answers (2)

Andrei Bobrov
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)

Walter Roberson
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.

Community Treasure Hunt

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

Start Hunting!