- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB03关系及逻辑运算
第三章 关系和逻辑运算;3.1关系操作符
关系操作符 说明
小于
= 小于或等于
大于
= 大于或等于
= = 等于
~ = 不等于
关系操作符的运算法则:
MATLAB关系操作符能用来比较两个同样大小的数组,或用来比较一个数组和一个标量。在后一种情况,标量和数组中的每一个元素相比较,结果与数组大小一样。
[例3—1]
关系操作符 链接;3.2 逻辑操作符
逻辑操作符提供了一种组合或否定关系表达式。
逻辑操作符 说明
与
| 或
~ 非
逻辑操作符的运算法则:
如果两个标量a和b运算,则:
a&b 当a,b全是非0时,运算结果是1,否则是0;
a|b 当a,b中只要有一个非0,运算结果为l;
~ a 当a是0时,运算结果是1,否则是0。
如果两个维数相同的数组A和B参与运算,则将数组A和B相同位置上的元素 按标量的运算规则逐个进行运算。逻辑运算的结果是返回一个由0和1组成的与数组A具有同样维数的数组。; 如果标量b和数组A参与运算,则:
将标量b和数组A中的每个元素进行逻辑运算。逻辑运算的结果是返回一个由0和1组成的与数组A具有同样维数的数组;
逻辑“非”运算是一元运算符,服从数组运算规则;
在逻辑“与”、 “或”、 “非”三者中, “与”及“或”从左向右依次执行,而都低于“非”的优先级。通过增加“( )”可以改变各操作符之间的优先级。
[例3—2] 链接
逻辑操作符01。
[例3—3] 链接 链接
逻辑操作符02,03。
3.3关系与逻辑函数
除了上面的关系与逻辑操作符,MATLAB提供了大量的其他关系与逻辑函数。 ;xor(x,y) 异或运算。x和y都是零(假)或都是非零(真),相应位置元素为0,
否则(x或y非零(真))取1。
any(x) 如果在一个向量x中,有非零元素,结果为1,否则为0;矩阵x
中的每一列有非零元素,返回1,否则为0。
all(x) ? 如果在一个向量x中,所有元素是非零,返回1,否则为0;矩阵
x中的每一列所有元素非零,返回1,否则为0。
3.4 NaNs和空矩阵
NaNs和空矩阵([ ])要求在MATLAB中作特殊处理,特别是用在逻辑或关系表达式里。根据IEEE数学标准,对NaNs的几乎所有运算都得出NaNs。
在MATLAB里,空矩阵不等于任何非零矩阵(或标量)。
[例3—4] 链接
空矩阵和NANS。;NaNs和空矩阵特性:
数据 a=[1 2 nan inf nan]
表达式 结果
2*a [2 4 NaN NaN]
(a==nan) [0 0 0 0 0]
(a~=nan) [1 1 1 1 1]
isnan(a) [0 0 1 0 1]
y=find(a==0) y=[ ]
isempty(y) 1
(y==0) [ ]
find(y==0) [ ]
文档评论(0)