MATLAB R2020a从入门到精通(升级版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

5.6 数组元素运算

前面着重介绍了数组的基本知识,从本节开始主要介绍与数组有关的一些处理方法。

5.6.1 算术运算

1.数组的加减

数组的加减与普通数字的加减一样。如果一个数组加或减一个数,则数组的所有元素都加或减这个数;一个数组加或减一个数组,则这两个数组的大小应该保持一致,并且相对应的元素进行相加或相减。具体示例如下:

img

运行结果如下:

img

2.数组的乘除

MATLAB 中数组的乘除就是矩阵的乘除,可以分为矩阵乘除和矩阵元素之间的乘除。矩阵乘除就是矩阵之间的乘除;矩阵元素之间的乘除是 MATLAB 不同于其他编程语言的一个较大的优势,这可以避免像C语言中通过循环对数组中的元素逐一进行乘法或除法运算。下面举例说明数组相乘和数组元素之间的相乘:

img

运行结果如下:

img

上述示例属于矩阵之间的相乘。

img

运行结果如下:

img

数组元素之间的相乘是元素之间的相乘,并且相乘后得到的新的数组的维数不变,这与数组相乘有本质的区别。

5.6.2 逻辑运算

矩阵的比较关系是针对两个矩阵对应元素而言的,所以在使用逻辑运算时,首先应该保证这两个矩阵的维数一致或其中一个矩阵为标量。

比较逻辑运算是对逻辑矩阵的对应运算进行比较,若关系满足,则将比较结果矩阵中该位置的元素置为1,否则置为0。关系运算包括如下4种。

1.与运算

将A与B的对应元素进行与运算,若两个数均为非0值,则结果元素的值为1,否则为0。其调用形式如下:

img

或者:

img

具体示例如下:

img

运行结果如下:

img

两个矩阵进行与运算,只要其中一个矩阵的一个元素为0,经过与运算后的矩阵的相应位置上为逻辑值0。

2.或运算

将A与B的对应元素进行或运算,若两个数只要有一个数不为0,则结果元素的值为1,否则为0。其调用形式如下:

img

或者:

img

具体示例如下:

img

运行结果如下:

img

两个矩阵进行或运算,只有相对应的元素都为0,得到或运算的结果才为逻辑值0。

3.非运算

如果待运算矩阵的元素为0,则结果元素为1,否则为0。其调用形式如下:

img

或者:

img

具体示例可以参考MATLAB的帮助文档。

4.异或运算

两个矩阵进行异或运算,若相应的两个数中一个为0,另一个不为0,则结果是逻辑值1,否则为0。其调用形式如下:

img

具体示例如下:

img

运行结果如下:

img

熟练掌握上述逻辑运算有助于读者编写大型程序。

5.6.3 比较运算

MATLAB中的比较运算有6种,这里的比较运算与C语言中的一样,具体的用法读者可以查看帮助文档中的相关示例。比较运算的指令及其含义如表5-1所示。

表5-1 比较运算的指令及其含义

img

上面介绍了多种运算,在MATLAB中编程,必须明白矩阵运算与矩阵元素之间的运算。