matlab符号运算符
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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所在范围的判断。