Using a while loop with a vector
49 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Tim Stark
el 2 de Mayo de 2019
Comentada: Tim Stark
el 3 de Mayo de 2019
Hey guys I'm running in to a problem with a 'while loop'. A simplified version of my codes look likes this:
B = [361;362;363;1000;10000;100000];
while B > 360
B = B - 360;
end
which yields:
B =
1
2
3
640
9640
99640
What I dont understand is this: why does my while loop not repeat until the last three elements of my matrix are < 360.
Thanks in advance
0 comentarios
Respuesta aceptada
Kevin Phung
el 2 de Mayo de 2019
Your while loop actually only runs once because after the first iteration, B>360 returns a logical array of [0 0 0 1 1 1], so it does not loop a second time. I think you meant to do something like this:
B = [361;362;363;1000;10000;100000];
for i = 1:numel(B)
while B(i) > 360
B(i) = B(i) - 360;
end
end
which will return:
1
2
3
280
280
280
Más respuestas (0)
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!