2.5.2 Matlab学习笔记之数据与运算-关系运算与逻辑运算

Mtalab关系运算与逻辑运算

1.关系运算

MATLAB 提供了6种关系运算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或 等于)、==(等于)、~=(不等于)。

MATLAB 还提供了与6种关系运算符对应的函数It 、le 、gt 、ge 、eq 、ne。

关系运算符的运算法则:

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

>> 12>3

ans =

     1

>> eq(2,3)

ans =

     0

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

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

例1 产生5阶随机方阵A, 其元素为[10,90]区间的随机整数,然后判断A的元素是否能被3整除。

(1)生成5阶随机方阵A。

>> A=fix((90-10+1)*rand(5)+10)

A =

    75    17    22    21    63
    83    32    88    44    12
    20    54    87    84    78
    83    87    49    74    85
    61    88    74    87    64		

(2)判断A的元素是否可以被3整除。

>> P=rem(A,3)==0 

P =

     1     0     0     1     1
     0     0     0     0     1
     0     1     1     1     1
     0     1     0     0     0
     0     0     0     1     0

MATLAB 还提供了一些关系运算函数

​ 关系运算函数

函 数 名含 义
all若向量的所有元素非零,则结果为1,否则为0
any若向量中任何一个元素非零,则结果为1,否则为0
exist检查变量在工作空间中是否存在,若存在,则结果为1,否则为0
find找出向量或矩阵中非零元素的位置
isempty若被查变量是空矩阵,则结果为1,否则为0
isinf若元素是±inf,则结果矩阵相应位置元素取1,否则取0
isnan若元素是nan,则结果矩阵相应位置元素取1,否则取0
isfinite若元素值大小有限,则结果矩阵相应位置元素取1,否则取0
isinteger若被查变量是整型,则取1,否则取0
isnumeric若被查变量是数值型,则取1,否则取0
isreal若被查变量是实数,则取1,否则取0
isfloat若被查变量是浮点型,则取1,否则取0

例2 建立矩阵A, 然后找出大于4的元素的位置,并输出相应位置的元素。

>> A=[4,-65,-54,0,6;56,0,67,-45,0] 

A =

     4   -65   -54     0     6
    56     0    67   -45     0

>> k=find(A>4)

k =

     2
     6
     9

>> A(k)

ans =

    56
    67
     6
     
注意:find函数得到的矩阵元素的位置是以相应元素的序号来表示的。
2.逻辑运算

MATLAB 提供了3种逻辑运算符:&(与)、 | (或)和~(非)。

提供了4个逻辑运算函数:and(a,b) 、or(a,b) 、not(a) 和xor(a,b), 分别代表与、或、非、异或运算。

在逻辑运算中,非零元素为真,用1表示;零元素为假,用0表示。

设参与逻辑运算的是两个标量a和 b, 逻辑运算的含义如下。

(1)a&b或函数and(a,b): 当 a 、b 全为非零时,结果为1,a 、b只要有一个为零则结果 为0。

(2)a|b 或函数 or(a,b): 当 a、b 中只要有一个非零,结果为1,a、b 全为零时结果为0。

(3)~a 和函数 not(a): 当 a 是零时,结果为1;当a 非零时,结果为0。

(4)函数xor(a,b): 当 a 、b 的值不同时,结果为1;当a 、b的值相同时,结果为0。

逻辑运算还有以下运算法则

(1)若参与逻辑运算的是两个同型矩阵,那么运算将对矩阵相同位置上的元素按标量规则逐个进行。最终运算结果是一个与原矩阵同型的矩阵,其元素由1或0组成。

(2)若参与逻辑运算的一个是标量,一个是矩阵,那么运算将在标量与矩阵中的每个元素之间按标量规则逐个进行。最终运算结果是一个与矩阵同型的矩阵,其元素由1或0组成。

(3)逻辑非是单目运算符,也服从矩阵运算规则。

>> A=[4,65,-54,0,6]

A =

     4    65   -54     0     6

>> B=[0,5,3,2,-6]

B =

     0     5     3     2    -6

>> A&B

ans =

     0     1     1     0     1

在算术运算、关系运算和逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值