MATLAB知识点:关系运算符

​讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​

MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili


节选自第3章 3.4.3 关系运算

关系运算符

MATLAB中的关系运算符有以下六个:

  • == 等于

  • ~= 不等于

  • > 大于

  • >= 大于等于

  • < 小于

  • <= 小于等于

关系运算符可以用来比较两个数组中元素的关系,如果比较的结果为真,则MATLAB会返回逻辑值1;如果结果为假,则会返回逻辑值0。这里的逻辑值1和0实际上就是其他编程语言(例如C语言、Java等)中的布尔型(bool)变量,布尔型变量的值只有真(true)和假(false)。逻辑值1和逻辑值0可以简称为逻辑1和逻辑0,对应的英文为logical 1和logical 0。

下面我们举一个例子,大家可以观察MATLAB的返回结果:

MATLAB知识点:关系运算符_第1张图片

上一小节中,我们介绍了MATLAB支持的算术运算的兼容模式,这些兼容模式在关系运算中也支持,下面举几个例子:

MATLAB知识点:关系运算符_第2张图片

注意:(1)上面表格第三列的0和1实际上是逻辑值0和逻辑值1;(2)NaN(不定值或缺失值)相互之间不相等。

易错点:连续使用关系运算符

有许多初学者喜欢连续使用多个关系运算符,大家可以试试下面四条命令,观察MATLAB返回的结果是什么:

(1)0 == 0 == 0   

(2)1 == 1 == 1   

(3)-1 < 0 < 1  

(4)1 > 0 > -1

在MATLAB中,连续使用多个关系运算符可能会产生意想不到的结果,上面四条命令的返回结果如下:

这些不符合预期的结果源于MATLAB对多个连续关系运算符的解析方式。以第一条命令为例:0 == 0 == 0 实际上被解析为 (0 == 0) == 0。由于 0 == 0 为真(logical 1),因此最终的表达式变为 1 == 0,结果为假(logical 0);第三条命令也是类似的,-1 < 0 < 1实际上被解析为 (-1 < 0) < 1。由于 -1 < 0为真(logical 1),因此最终的表达式变为 1<1,结果为假(logical 0)。第二条和第四条命令也是类似的解释,大家可以自己尝试。

因此,为了避免不必要的错误,我们应该使用下一小节中介绍的逻辑运算函数(逻辑与&、逻辑或|、逻辑非~等)连接多个关系表达式,例如判断a

另外,从上面的例子可以看出,逻辑值1和逻辑值0不仅仅用于表示真true和假false,它们在进行计算时也可以被视为数值1和数值0。

请看下面的例子:

MATLAB知识点:关系运算符_第3张图片

再来看一个例子:模拟投硬币10万次,计算出现正面的次数和频率。

你可能感兴趣的:(MATLAB知识点详解,数学建模,matlab)