文の句の間に&
または&&
を使用する必要があるかどうかを確認するには、if
文が2つの条件の両方が真である場合のみ実行するようにしますか?例えばMATLAB論理演算子:&& vs&
は、私が
if a == 5 & b == 4
または
if a == 5 && b == 4
を使用する必要があります私は、前者は要素ごとであり、後者が短絡することが可能であることを理解しますが、これは何を意味するのかについては明らかではありませんよ。
文の句の間に&
または&&
を使用する必要があるかどうかを確認するには、if
文が2つの条件の両方が真である場合のみ実行するようにしますか?例えばMATLAB論理演算子:&& vs&
は、私が
if a == 5 & b == 4
または
if a == 5 && b == 4
を使用する必要があります私は、前者は要素ごとであり、後者が短絡することが可能であることを理解しますが、これは何を意味するのかについては明らかではありませんよ。
スカラーブール条件の場合は、&&
を使用することをお勧めします。短絡とは、第1の条件がの場合、の場合は評価されませんが、結果はfalseです。 &
または&&
のいずれかは、式の両辺が真である場合のみ真となりますが、オペランドの1つが行列の場合は&
が行列結果を返すことができます。
また、私は(割り当て)ではなく、==
でMatlabの比較を行うべきだと考えています。
ああスナップ、==チップのおかげで! – CaptainProg
ちなみに、なぜ短絡をAND条件にしたくないのですか?すべての条件が真である場合にのみ真であるため、最初の条件が評価されて偽であると判明した場合、それ以上の評価は処理能力の無駄です。 – CaptainProg
@CaptainProg副作用の機能を評価したい場合があります – sverre
MATLABのドキュメントでは、演算子の短絡[ここ](http://www.mathworks.co.uk/help/techdoc/matlab_prog/f0-40063.html#f0-39129)、 '&&'と '演算子[here](http://www.mathworks.co.uk/help/techdoc/ref/logicaloperatorsshortcircuit.html)と要素ごとの演算子 '&'と '|' [ここ](http: /www.mathworks.co.uk/help/techdoc/ref/logicaloperatorselementwise.html)。 – Chris