While loop for the elements of an array
Ältere Kommentare anzeigen
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 Kommentar
Image Analyst
am 27 Mai 2013
It's recommended not to use i (the imaginary variable) as a variable name.
Akzeptierte Antwort
Weitere Antworten (1)
Jason Nicholson
am 27 Mai 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 Kommentare
Giorgos Papakonstantinou
am 27 Mai 2013
Giorgos Papakonstantinou
am 27 Mai 2013
Matt Kindig
am 27 Mai 2013
Bearbeitet: Matt Kindig
am 27 Mai 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
am 28 Mai 2013
Kategorien
Mehr zu Multidimensional Arrays finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!