森之张卫东 发表于 2015-9-4 22:32

关系运算符和逻辑运算符


关系运算符和逻辑运算符
选择结构的运算由一个表达式控制的,这个表达式的结果只有true(1)和false(0)。有两种形式的运算符可以在MATLAB中关系得到true/false:关系运算符和逻辑运算符。
跟C语言一样,MATLAB没有布尔型和逻辑数据类型。MATLAB把0值作为结果false,把所有的非0值作为结果ture。
3.3.1 关系运算符
关系运算符是指两数值或字符操作数的运算符,这种运算将会根椐两操作数的关系产生结果true或false。关系运算的基本形式如下
a1 op a2
其中a1和a2是算术表达式,变量或字符串,op代表表3.1中的关系运算符中的一个。
如果两者的关系为真(true)时,那么这个运算将会返回1值;否则将会返回0值。


    表3.1 关系运算符  
    运算符      运算  
    ==      等于  
    ~=      不等于  
    >       大于  
    >=      大于或等于  
    <       小于  
    <=      小于或等于  

下面是一些关系运算和它的结果运算结果

    3 < 4      1  
    3 <= 4      1  
    3 == 4      0  
    3 > 4      0  
    4 <= 4      1  
    'A' < 'B'      1  

最后一个运算得到的结果为1,是因为字符之间的求值要按照子母表的顺序。

注意因为字符串实际上是字符的数组,关系运算符也比较两个相同长度的字符串。如果它们有不同的长度,比较运算将会产生一个错误。在第六章中我们将会学到一个更普遍的方法。等于关系运算符由两个等号组成,而赋值运算符只有一个等号。
   它们是完全不同的两个符号,初学者极易混淆。符号==是一个比较运算符,返回一个逻辑数,而符号=是将等号右边的表达式的值赋给左边的变量。当进行比较运算的时候,初学者经常用误用符号=。

常见编程错误
小心谨慎不要混淆了等于关系运算符(==)和赋值运算符(=)。

在运算的层次中,关系运算在所有数学运算的之后进行。所以下面两个表达式是等价的,均产生结果1。
7 + 3 < 2 + 11
(7 + 3)< (2 + 11)

页: [1]
查看完整版本: 关系运算符和逻辑运算符