当前位置:文档之家› matlab符号运算符

matlab符号运算符

Matlab符号运算符的使用
一、&&/||/&/|
|:数组逻辑或
||:先决逻辑或
&:数组逻辑与
&&:先决逻辑与
&&和||被称为&和|的short circuit形式。

先决逻辑符号含义:
先判断左边是否为真;若为真,则不再判断右边;若为假,才继续进行或运算
先判断左边是否为假;若为假,则不再判断右边;若为真,才继续进行与运算两种运算符号的区别:
先决逻辑运算的运算对象只能是标量
数组逻辑运算可为任何维数组,运算符两边维数要相同
举例分析:
A&B :首先判断A的逻辑值,然后判断B的值,然后进行逻辑与的计算。

A&&B:首先判断A的逻辑值,如果A的值为假,就可以判断整个表达式的值为假,
就可以判断整个表达式的值为假,就不需要再判断B的值。

这种用法非常有用,
如果A是一个计算量较小的函数,B是一个计算量较大的函数,那么首先判断A
对减少计算量是有好处的。

另外这也可以防止类似被0除的错误。

Matlab中的if和while语句中的逻辑与和逻辑或都是默认使用short-circuit形式。

// 这可能就是有时候用&和| 会报错的原因。

二、系统结构体内的变量
一般都是小写。

matlab区分大小写。

三、==
表示逻辑相等,返回结果,相等为1,不等为0。

四、.*(times)点乘
times
Array multiply 数组乘
Syntax
c = a.*b
c = times(a,b)
Description
c = a.*b multiplies arrays a an
d b element-by-element and returns th
e result in c. Inputs a and b must have the same size unless one is a scalar.
注释:a、b要同尺寸,或其中一个为标量。

c = times(a,b) is calle
d for th
e syntax a.*b when a or b is an object.
Example
a = [1 2 3]';
b = [5 6 7]';
c = a.*b;
五、矩阵或向量共轭转置“’”和转置“.’”
若矩阵由实数构成,二者作用一样;
若矩阵中由复数或复数和实数构成,“’”表示共轭转置,“.’”表示转置。

六、判断一个数在某一范围内的方法
不可以写成1 < A < 6,而要写作A>1 && A<6才能正确实现数A所在范围的判断。

相关主题