length of vector

1 次查看(过去 30 天)
huda nawaf
huda nawaf 2011-11-5
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 个评论
Fangjun Jiang
Fangjun Jiang 2011-11-5
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.

请先登录,再进行评论。

回答(2 个)

Andrei Bobrov
Andrei Bobrov 2011-11-5
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 2011-11-5
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.

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by