MATLAB提供了关系运算符和逻辑运算符,如表2-3和表2-4所示,主要用于基于真或假命题的各类MATLAB命令的流程和执行次序。
表2-3 关系运算符
表2-4 逻辑运算符
作为所有关系运算表达式和逻辑运算表达式的输入,MATLAB把任何非零数值当作真(True),把零当作假(False)。所有关系运算表达式和逻辑运算表达式,对于真输出为1,对于假输出为0。
关系运算表达式和逻辑运算表达式的基本语法结构为:
logicalvalue=variable1 关系运算符 varialble2; logicalvalue=logical expression 1 逻辑运算符 logical expression 2
MATLAB关系运算符能用来比较两个具有相同元素个数的数组,或用来比较一个数组和一个标量,例如:
A=1:8, B=8-A tf=A>4
运行结果如下:
A = 1 2 3 4 5 6 7 8 B = 7 6 5 4 3 2 1 0 tf = 1×8 logical 数组 0 0 0 0 1 1 1 1
注意,“=”和“==”意味着两件不同的事:“==”表示比较两个变量,当它们相等时返回1,当它们不相等时返回0;“=”表示将运算的结果赋值给变量。例如:
> C=(A==B)
运行结果如下:
C = 1×8 logical 数组 0 0 0 1 0 0 0 0
逻辑运算符用于逻辑关系的组合或否定表达式,例如:
A=1:9; B=9-A; tf1=A>4 tf2=~(A>4) tf3=(A>2)&(A<6)
运行结果如下:
tf1 = 1×9 logical 数组 0 0 0 0 1 1 1 1 1 tf2 = 1×9 logical 数组 1 1 1 1 0 0 0 0 0 tf3 = 1×9 logical 数组 0 0 1 1 1 0 0 0 0