for loop doesn't repeat the operation (Matlab)
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Dear members
I have a program in which I don't have errors when running it, but it doesn't repeat the operation n=n+1 when the result of for loop is not 0.
I don't know where is the problem with for loop.
1 comentario
Respuestas (1)
Steven Lord
el 23 de Mzo. de 2021
Notice that the first n in the line "n = n+1;" is underlined? If you hover over that variable, you will see a Code Analyzer message that I believe will recommend not changing the value of the loop variable inside the loop. Any changes you make will persist only to the end of that iteration of the loop; when the next iteration starts the loop variable will take on the next value from the vector over which you're iterating.
for k = 1:5
fprintf("First, k is %d.\n", k)
k = k + 10;
fprintf("Next, k is %d.\n", k)
end
If you just mean to skip to the next value of n (from 1:iteration) then just eliminate that line.
If you mean to skip (from 1 to 3 at the next iteration, not running the body of the loop for n = 2) then you're going to need to switch to a while loop.
If you want to stop the loop entirely when or if L becomes 0, use break.
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!