how to replace "&&" in a loop

I would like not to use "&&" in this loop:
if a=x && b=y
d=2
end
how can i replace it?

Antworten (1)

Adam Danz
Adam Danz am 6 Mär. 2020
Bearbeitet: Adam Danz am 6 Mär. 2020

0 Stimmen

"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 Kommentare

Stephen23
Stephen23 am 6 Mär. 2020
Bearbeitet: Stephen23 am 6 Mär. 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 am 6 Mär. 2020
The original code would throw an error at if a=x but I'll up date my answer to cover the indexing interpretation.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Tags

Gefragt:

am 6 Mär. 2020

Bearbeitet:

am 6 Mär. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by