5.6 数组元素运算
前面着重介绍了数组的基本知识,从本节开始主要介绍与数组有关的一些处理方法。
5.6.1 算术运算
1.数组的加减
数组的加减与普通数字的加减一样。如果一个数组加或减一个数,则数组的所有元素都加或减这个数;一个数组加或减一个数组,则这两个数组的大小应该保持一致,并且相对应的元素进行相加或相减。具体示例如下:
运行结果如下:
2.数组的乘除
MATLAB 中数组的乘除就是矩阵的乘除,可以分为矩阵乘除和矩阵元素之间的乘除。矩阵乘除就是矩阵之间的乘除;矩阵元素之间的乘除是 MATLAB 不同于其他编程语言的一个较大的优势,这可以避免像C语言中通过循环对数组中的元素逐一进行乘法或除法运算。下面举例说明数组相乘和数组元素之间的相乘:
运行结果如下:
上述示例属于矩阵之间的相乘。
运行结果如下:
数组元素之间的相乘是元素之间的相乘,并且相乘后得到的新的数组的维数不变,这与数组相乘有本质的区别。
5.6.2 逻辑运算
矩阵的比较关系是针对两个矩阵对应元素而言的,所以在使用逻辑运算时,首先应该保证这两个矩阵的维数一致或其中一个矩阵为标量。
比较逻辑运算是对逻辑矩阵的对应运算进行比较,若关系满足,则将比较结果矩阵中该位置的元素置为1,否则置为0。关系运算包括如下4种。
1.与运算
将A与B的对应元素进行与运算,若两个数均为非0值,则结果元素的值为1,否则为0。其调用形式如下:
或者:
具体示例如下:
运行结果如下:
两个矩阵进行与运算,只要其中一个矩阵的一个元素为0,经过与运算后的矩阵的相应位置上为逻辑值0。
2.或运算
将A与B的对应元素进行或运算,若两个数只要有一个数不为0,则结果元素的值为1,否则为0。其调用形式如下:
或者:
具体示例如下:
运行结果如下:
两个矩阵进行或运算,只有相对应的元素都为0,得到或运算的结果才为逻辑值0。
3.非运算
如果待运算矩阵的元素为0,则结果元素为1,否则为0。其调用形式如下:
或者:
具体示例可以参考MATLAB的帮助文档。
4.异或运算
两个矩阵进行异或运算,若相应的两个数中一个为0,另一个不为0,则结果是逻辑值1,否则为0。其调用形式如下:
具体示例如下:
运行结果如下:
熟练掌握上述逻辑运算有助于读者编写大型程序。
5.6.3 比较运算
MATLAB中的比较运算有6种,这里的比较运算与C语言中的一样,具体的用法读者可以查看帮助文档中的相关示例。比较运算的指令及其含义如表5-1所示。
表5-1 比较运算的指令及其含义
上面介绍了多种运算,在MATLAB中编程,必须明白矩阵运算与矩阵元素之间的运算。