MATLAB矩阵分析和计算
上QQ阅读APP看书,第一时间看更新

4.10 数组的关系运算

MATLAB提供了6种关系运算符,即<小于关系、<=小于或等于关系、>大于关系、>=大于或等于关系、==等于关系和~=不等于关系。它们的含义很容易理解,需要注意的是,其书写方法与数学中的不等式符号不尽相同。关系运算符的运算法则如下:

•当两个比较量是标量时,直接比较两数的大小。若关系成立,则关系表达式结果为1,否则是0。

•当参与比较量是两个维数相同的数组时,比较是对两数组相同位置的元素按标量关系运算规则逐个进行,并给出比较结果。最终的关系运算结果是一个维数与原矩阵相同的数组,它的元素由0或1组成。

•当参与比较的一个是标量,而另一个是数组时,则把标量与数组的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果。最终的关系运算结果是一个维数与原数组相同的数组,它的元素由0或1组成。

【例4.14】 数组的比较。

    clear all;
    A=[11 10 13 4 5]
    B=[3 15 21 6 5]
    C=A < =10           %数组和常数的比较,小于或等于
    D=A > 10             %数组和常数的比较,大于
    E=A > B              %数组和数组的比较,大于
    F=A==B             %数组和数组的比较,恒等于

运行后输出结果如下:

    A=

        11  10  13  4  5
    B=

         3  15  21  6  5
    C=

         0   1   0  1  1
    D=

         1   0   1  0  0
    E=

         1   0   0  0  0
    F=

         0   0   0  0  1

在程序中,进行数组和常数的比较,以及数组和数组的比较,返回值是逻辑值(0或1),与原数组有相同的维数。

【例4.15】 修改数组A中大于10的元素为10。

    clear all;
    A=[11 10 13 4 5]
    B=[3 15 21 6 5]
    A(A > 10)=10
    B(B==5)=100

运行后输出结果如下:

    A=

        11  10  13  4  5
    B=

         3  15  21  6  5
    A=

        10  10  10  4  5
    B=

         3  15  21  6  100

在程序中,将数组A中大于10的元素改为10,将数组B中等于5的元素改为100。