While loop for the elements of an array
Show older comments
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 Comment
Image Analyst
on 27 May 2013
It's recommended not to use i (the imaginary variable) as a variable name.
Accepted Answer
More Answers (1)
Jason Nicholson
on 27 May 2013
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 Comments
Giorgos Papakonstantinou
on 27 May 2013
Giorgos Papakonstantinou
on 27 May 2013
Matt Kindig
on 27 May 2013
Edited: Matt Kindig
on 27 May 2013
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
on 28 May 2013
Categories
Find more on Multidimensional Arrays 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!