Borrar filtros
Borrar filtros

how to replace "&&" in a loop

1 visualización (últimos 30 días)
Alan Robertson
Alan Robertson el 6 de Mzo. de 2020
Editada: Adam Danz el 6 de Mzo. de 2020
I would like not to use "&&" in this loop:
if a=x && b=y
d=2
end
how can i replace it?

Respuestas (1)

Adam Danz
Adam Danz el 6 de Mzo. de 2020
Editada: Adam Danz el 6 de Mzo. de 2020
"how to replace "&&" in a loop"
If, for whatever reason, you don't like the && symbols,
if a==x && b==y
d=2;
end
could be rewritten as
if all([a==x,b==y])
or
if all([isequal(a,x), isequal(b,y)])
or perhaps you'd like to use indexing as Stephen pointed out,
idx = a==x & b==y;
d(idx) = 2;
  2 comentarios
Stephen23
Stephen23 el 6 de Mzo. de 2020
Editada: Stephen23 el 6 de Mzo. de 2020
If any of a, b, x, or y are non-scalar then your proposal will give a very different response to the original code.
I suspect that the OP actually has non-scalar data, and that indexing would be a much more suitable solution.
Adam Danz
Adam Danz el 6 de Mzo. de 2020
The original code would throw an error at if a=x but I'll up date my answer to cover the indexing interpretation.

Iniciar sesión para comentar.

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by