Borrar filtros
Borrar filtros

Code doesn't terminate in the way that I want

2 visualizaciones (últimos 30 días)
Matthew Hunt
Matthew Hunt el 8 de Mzo. de 2022
Comentada: Jan el 9 de Mzo. de 2022
I have a loop which changes the value of a vector at each iteration of the loop. I don't want the values in the loop to get greater or smaller than predefined values. The code I'm using for this is:
if (min(u_new)<0.02 || max(u_new)>0.98)
return;
end
This doesn't seem to work. I thought that this would be a relatively simple thing to prgram but it's being stubburn.

Respuestas (1)

Max Alger-Meyer
Max Alger-Meyer el 8 de Mzo. de 2022
Editada: Max Alger-Meyer el 9 de Mzo. de 2022
So I'm not totally sure what you're asking the code to do, but using 'return' is going to end your script or function. If you just want to exit the loop, use 'break' instead. Alternatively, if you just want the loop to skip over the values that would fall outside of your desired range and keep iterating, you'd want to flip the signs in the 'if' condition and change the values in the body of the if statement, once the criteria are met. If you post additional code so I can see what you are trying to do I can help more.
  7 comentarios
Matthew Hunt
Matthew Hunt el 9 de Mzo. de 2022
The norm(c) was just to output the value of norm of c so I could see the change in the value of c as time progressed.
Jan
Jan el 9 de Mzo. de 2022
@Matthew Hunt: And it does break the loop, if the condition is met:
min(u_new)<0.02 || max(u_new)>0.98
If the loop is not left, the condition is not true. You wrote "This doesn't seem to work", but of course it works exactly as expected. The problem is, that your u_new has other values than you expect. You can check this by your own or provide the input values.

Iniciar sesión para comentar.

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by