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?

回答 (1 件)

Adam Danz
Adam Danz 2020 年 3 月 6 日
編集済み: Adam Danz 2020 年 3 月 6 日

0 投票

"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 件のコメント

Stephen23
Stephen23 2020 年 3 月 6 日
編集済み: Stephen23 2020 年 3 月 6 日
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 2020 年 3 月 6 日
The original code would throw an error at if a=x but I'll up date my answer to cover the indexing interpretation.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

質問済み:

2020 年 3 月 6 日

編集済み:

2020 年 3 月 6 日

Community Treasure Hunt

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

Start Hunting!

Translated by