matlab运算符

运算符

  • Error:Matlab ||和&&运算符的操作数必须能够转换为逻辑标量值
    • 解决:||和&&为值运算, |与&为向量运算,改为|与&
  • &&和||被称为&和|的short circuit形式,

    • A&B
      • (1)首先判断A的逻辑值,然后判断B的值,然后进行逻辑与的计算。
      • (2)A和B可以为矩阵(e.g. A=[1 0],B=[0 0])。
    • A&&B
      • (1)首先判断A的逻辑值,如果A的值为假,就可以判断整个表达式的值为假,就不需要再判断B的值。
      • (2)A和B不能是矩阵,只能是标量。
    • “|”与“||”同理。
    • A&&B 首先判断A的逻辑值,如果A的值为假,就可以判断整个表达式的值为假,就不需要再判断B的值。这种用法非常有用,如果A是一个计算量较小的函数,B是一个计算量较大的函数,那么首先判断A对减少计算量是有好处的。另外这也可以防止类似被0除的错误
  • 中括号[]的一个用法是,用来接收多个返回值/结果(数值或矩阵)。

运算符的优先级

  • 运算符的优先级
  • AND 和 OR 运算符的优先级
    • MATLAB 始终将 & 运算符的优先级指定为高于 | 运算符。尽管 MATLAB 通常按从左到右的顺序计算表达式,但表达式 a|b&c 按 a|(b&c) 形式计算。对于包含 & 和 | 组合的语句,比较好的做法是使用括号显式指定期望的语句优先级。
      该优先级规则同样适用于 && 和 || 运算符。

转载

------ The Happy Ending ------