While loop for the elements of an array
이전 댓글 표시
I have an array:
a=[1 1 1 1 1 1 1 10 1 1 1 1 1 1 12 1 1 1 1 3];
I want to make a while loop that does the following
enas=0;
while a(i)==1 %
enas=enas+1;
end
But I don't know how to express it in matlab. Can you help me please?
댓글 수: 1
Image Analyst
2013년 5월 27일
It's recommended not to use i (the imaginary variable) as a variable name.
채택된 답변
추가 답변 (1개)
Jason Nicholson
2013년 5월 27일
See the lines below. This will work.
a=[1 1 1 1 1 1 1 10 1 1 1 1 1 1 12 1 1 1 1 3];
i = 1;
enas=0;
while a(i)==1 %
enas=enas+1;
i = i +1;
end
댓글 수: 4
Giorgos Papakonstantinou
2013년 5월 27일
Giorgos Papakonstantinou
2013년 5월 27일
Matt Kindig
2013년 5월 27일
편집: Matt Kindig
2013년 5월 27일
This should do it:
b = [0, a, 0]; %ensure that ends are not 1
edges = find(b~=1); %location elements that are not 1
spans = diff(edges)-1; %distance between edges is span of 1's
enas = spans(spans~=0) %should output 7 6 4
Giorgos Papakonstantinou
2013년 5월 28일
카테고리
도움말 센터 및 File Exchange에서 Multidimensional Arrays에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!