MATLAB 8.X实战指南
上QQ阅读APP看书,第一时间看更新

1.3 MATLAB有哪些运算符

MATLAB在数组与矩阵运算方面具有突出的优势,在使用MATLAB进行相关运算之前,需要先了解MATLAB中都包括了哪些运算符。总体而言,MATLAB中的运算符包括3类,分别是算术运算符、关系运算符与逻辑运算符。在运算的过程中,容易忽略的是运算的优先级。在MATLAB中,运算符按优先级从高到低依次排列为:算术运算符(优先级最高)、关系运算符(优先级排第二)、逻辑运算符(优先级最低)。

1.3.1 算术运算符

MATLAB中的算术运算符包括加、减、乘、点乘、点除、左除、右除等,运算法则如表1.9所示。

表1.9 MATLAB中的算术运算符及运算法则

经验分享:由表1.9可以看出,MATLAB中将乘除运算分别进行细分。乘运算分为乘与点乘,而除运算分为右除、点右除、左除及点左除。为了方便用户理解与记忆,此处带“点”的乘除运算可以联想为针对构成参与运算的对象(数组或矩阵)的“元素”乘除运算操作。值得分享的经验是,除运算中的“左除”与“右除”较易混淆,为了方便用户理解与记忆,此处的“左除”与“右除”可以分别对应于线性方程组“Ax=B(左乘)”与“xA=B(右乘)”。

1.3.2 关系运算符

MATLAB中的关系运算符包括如表1.10所示的6种运算符。

表1.10 MATLAB中的关系运算符及运算符说明

经验分享:参与关系运算的两个运算对象可以是数值、数组、矩阵或字符串等数据类型。当两个数值型数据进行关系运算时,表达式返回一个逻辑量(1或0);当一个数值与一个数组(即MATLAB中广义上的数组,包括数组型、矩阵型或字符串型数据),实质上是该数值与数组中每个元素之间进行关系运算,而该表达式返回一个由逻辑量构成的数组。

1.3.3 逻辑运算符

MATLAB中的逻辑运算符分别是“与”、“或”、“非”,如表1.11所示。

表1.11 MATLAB中的逻辑运算符

经验分享:表1.11中有两种类型的“与”和“或”运算符。以“&”和“&&”为例说明“与(非)”运算的两种类型运算符的区别。元素逻辑与(&),顾名思义,“&”运算符将参与逻辑运算的两个运算对象A与B(同为数值类型或尺寸相同的广义数组)按照元素一一对应的关系进行逻辑与运算,并返回一个由相应逻辑值构成的数值或广义数组。而捷径逻辑与(&&),则是在表达式A&&B中A为逻辑真(1)时,MATLAB才计算B的逻辑值;如果A为逻辑假(0),则无需计算B的逻辑值,而直接返回逻辑假(0)。对于捷径逻辑或(||),则刚好相反,只有当A为逻辑假(0)时,MATLAB才计算B的逻辑值;如果A为逻辑真(1),则无须计算B的逻辑值,而直接返回逻辑真(1)。需要分享的经验是,“&&”与“||”运算符隐含地要求两个运算对象必须是逻辑值标量或是返回值为逻辑标量的表达式。

除了上述逻辑运算符,MATLAB还提供了其他逻辑运算函数,表1.12罗列了部分常用的逻辑运算函数。

表1.12 MATLAB部分逻辑运算函数

1.3.4 运算优先级

上文已提及,在MATLAB的一个运算表达式中,算术运算符的优先级最高,其次是关系运算符,最后是逻辑运算符。MATLAB中具体的运算优先级排列顺序如表1.13所示。

表1.13 MATLAB运算优先级排序

经验分享:在用户不确定运算符优先级是否正确的情况下,可以采用括号运算符的方式按照用户的意图来设置运算顺序。