matlab教程--matlab快速入门-文字版, matlab电子书, 和matlab 有关的电子书:

2.5.1 关系和逻辑运算

2.5.1  关系和逻辑运算

MATLAB的关系运算符有:

< 小于;> 大于;<= 小于或等于;

>= 大于或等于;== 等于;~= 不等于。

关系运算比较两个数值,当指出的关系成立时结果为1(表示真),否则为0(表示假)。

 关系运算可以作用于两个同样大小的矩阵或数组,结果是一个0,1矩阵或数组,每个分量代表相应的矩阵或数组分量的关系运算结果,例如,在MATLAB工作窗口输入程序:

》A=1:5,B=5:-1:1

运行后输出结果如下:

A =

    1    2     3     4     5

B =

    5    4     3     2     1

在MATLAB工作窗口输入程序:

》C=A>=4

运行后输出结果如下:

C =

    0    0     0     1     1

在MATLAB工作窗口输入程序:

》D=A==B

运行后输出结果如下:

D =

    0    0     1     0     0

 

下面举一个例子说明如何将关系运算和数值运算结合起来。在MATLAB工作窗口输入程序:

》x=(-3:3)/3

运行后输出结果如下:

x =

-1.0000  -0.6667  -0.3333  0  0.3333  0.6667  1.0000

在MATLAB工作窗口输入程序:

》sin(x)./x

运行后输出结果如下:

    Warning: Divide by zero

ans =

      0.8415  0.9276  0.9816  NaN  0.9816  0.9276  0.8415

在计算sinx/x时给出了警告信息,是因为第4个数据sin0/0没有定义,MATLAB返回NaN。为了避免这种情况出现可以用最小浮点数eps来代替0,在MATLAB工作窗口输入程序:

》x=(-3:3)/3;x=x+(x==0)*eps; sin(x)./x

运行后输出结果如下:

ans =

 0.8415  0.9276  0.9816  1.0000  0.9816  0.9276  0.8415

给出了sinx/x在x=0时正确的极限值。

 

    MATLAB的逻辑运算符有:

    &  与运算; |  或运算; ~ 非运算。

它们满足熟知的运算规则:

 

a

b

a&b

a|b

~a

0

0

0

0

1

1

0

0

1

0

1

1

1

1

 

逻辑运算将任何非零元素视为1(真)。逻辑运算也可以作用于矩阵或数组。在MATLAB工作窗口输入程序:

》a=1:9,b=9-a,c=~(a>4),d=(a>=3)&(b<6)

运行后输出结果如下:

 a =

   1     2     3     4     5     6     7     8     9

b =

 8     7     6     5     4     3     2     1     0

c =

 1     1     1     1     0     0     0     0     0

d =

 0     0     0     1     1     1     1     1     1

 

    MATLAB还提供了一些关系和逻辑函数,常见的有 all 和 any ,用法是:

    y=all(x)  若x为向量,当所有元素非零时y=1,否则y=0;若x为矩阵,all 作用于列元素,y为行向量。

    y=any(x)  若x为向量,当有一元素非零时y=1,否则y=0;若x为矩阵,all 作用于列元素,y为行向量。

    例如,在MATLAB工作窗口输入程序:

》a=[1 0 -5 0;-3 0 8 2],

b=all(a),c=any(a),d=all(b),e=any(c)

运行后输出结果如下:

a =

  1     0    -5     0

    -3     0     8     2

b =

  1     0     1     0

c =

  1     0     1     1

d =

  0

e =

 1

欢迎转载,转载请注明来自一手册:http://yishouce.com/book/2/2020501.html
友情链接It题库(ittiku.com)| 版权归yishouce.com所有| 友链等可联系 admin#yishouce.com|粤ICP备16001685号-1