《MATLAB03关系和逻辑运算.ppt》由会员分享,可在线阅读,更多相关《MATLAB03关系和逻辑运算.ppt(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第三章第三章关系和逻辑运算关系和逻辑运算MATLAB支持关系和逻辑运算。这些操作符和函数的目的是支持关系和逻辑运算。这些操作符和函数的目的是提供求解真提供求解真/假命题的答案。一个重要的应用是控制基于真假命题的答案。一个重要的应用是控制基于真/假假命题的一系列命题的一系列MATLAB命令(通常在命令(通常在M文件中)的流程,或执文件中)的流程,或执行次序。行次序。所有关系和逻辑表达式的输入,所有关系和逻辑表达式的输入,MATLAB把任何非零数值当把任何非零数值当作真,把零当作假。作真,把零当作假。所有关系和逻辑表达式的输出,对于真,输出为所有关系和逻辑表达式的输出,对于真,输出为1;对于假,;
2、对于假,输出为零。输出为零。13.1关系操作符关系操作符关系操作符关系操作符说明说明小于小于大于大于=大于或等于大于或等于=等于等于=不等于不等于关系操作符的运算法则:关系操作符的运算法则:MATLAB关系操作符能用来比较两个同样大小的数组,或用来比较一个数组关系操作符能用来比较两个同样大小的数组,或用来比较一个数组和一个标量。在后一种情况,标量和数组中的每一个元素相比较,结果与数和一个标量。在后一种情况,标量和数组中的每一个元素相比较,结果与数组大小一样。组大小一样。例例31关系操作符关系操作符 链接23.2逻辑操作符逻辑操作符逻辑操作符提供了一种组合或否定关系表达式。逻辑操作符提供了一种组
3、合或否定关系表达式。逻辑操作符逻辑操作符说明说明&与与|或或非非逻辑操作符的运算法则:逻辑操作符的运算法则:如果两个标量如果两个标量a和和b运算,则:运算,则:ab当当a,b全是非全是非0时,运算结果是时,运算结果是1,否则是,否则是0;a|b当当a,b中只要有一个非中只要有一个非0,运算结果为,运算结果为l;a当当a是是0时,运算结果是时,运算结果是1,否则是,否则是0。如果两个维数相同的数组如果两个维数相同的数组A和和B参与运算,则将数组参与运算,则将数组A和和B相同位置上的元素相同位置上的元素按标量的运算规则逐个进行运算。逻辑运算的结果是返回一个由按标量的运算规则逐个进行运算。逻辑运算的
4、结果是返回一个由0和和1组成的组成的与数组与数组A具有同样维数的数组。具有同样维数的数组。3 如果标量如果标量b和数组和数组A参与运算,则:参与运算,则:将标量将标量b和数组和数组A中的每个元素进行逻辑运算。逻辑运算的结果是返回一个由中的每个元素进行逻辑运算。逻辑运算的结果是返回一个由0和和1组成的与数组组成的与数组A具有同样维数的数组;具有同样维数的数组;逻辑逻辑“非非”运算是一元运算符,服从数组运算规则;运算是一元运算符,服从数组运算规则;在逻辑在逻辑“与与”、“或或”、“非非”三者中,三者中,“与与”及及“或或”从左向右依次执从左向右依次执行,而都低于行,而都低于“非非”的优先级。通过增
5、加的优先级。通过增加“()”可以改变各操作符之间的优先可以改变各操作符之间的优先级。级。例例32链接逻辑操作符逻辑操作符01。例例33链接 链接逻辑操作符逻辑操作符02,03。3.3关系与逻辑函数关系与逻辑函数除了上面的关系与逻辑操作符,除了上面的关系与逻辑操作符,MATLAB提供了大量的其他关系与逻辑函数。提供了大量的其他关系与逻辑函数。4xor(x,y)异或运算。异或运算。x和和y都是零都是零(假假)或都是非零或都是非零(真真),相应位置元素为,相应位置元素为0,否则(否则(x或或y非零非零(真真))取)取1。any(x)如果在一个向量如果在一个向量x中,有非零元素,结果为中,有非零元素,
6、结果为1,否则为,否则为0;矩阵;矩阵x中的每一列有非零元素,返回中的每一列有非零元素,返回1,否则为,否则为0。all(x)如果在一个向量如果在一个向量x中,所有元素是非零,返回中,所有元素是非零,返回1,否则为,否则为0;矩阵;矩阵x中的每一列所有元素非零,返回中的每一列所有元素非零,返回1,否则为,否则为0。3.4NaNs和空矩阵和空矩阵NaNs和空矩阵和空矩阵()要求在要求在MATLAB中作特殊处理,特别是用在逻辑或关中作特殊处理,特别是用在逻辑或关系表达式里。根据系表达式里。根据IEEE数学标准,对数学标准,对NaNs的几乎所有运算都得出的几乎所有运算都得出NaNs。在在MATLAB里,空矩阵不等于任何非零矩阵里,空矩阵不等于任何非零矩阵(或标量或标量)。例例34 链接空矩阵和空矩阵和NANS。5NaNs和空矩阵特性和空矩阵特性:数据数据 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 1isnan(a)0 0 1 0 1y=find(a=0)y=isempty(y)1(y=0)find(y=0)6