4.3.1 关系及逻辑运算
在执行关系及逻辑运算时,MATLAB 将输入的不为零的数值都视为真 (True)而为零的数值则视为否 (False)。 运算的输出值将判断为真者以 1 表示而判断为否者以 0 表示。MATLAB 提供以下的关系判断及逻辑的运算 元:
符号 关系的意义
< 小于
<= 小于等于
> 大于
>= 大于等于
== 等于
~= 不等于
& 逻辑 and
| 逻辑 or
~ 逻辑 not
上述的各个运算元须用在二个大小相同的阵列或是矩阵的比较,以下有几个例子:
>> a=1:5, b=5-a,
a =
1 2 3 4 5
b =
4 3 2 1 0
>> tf= a>4
tf =
0 0 0 0 1
>> tf= a==b
tf =
0 0 0 0 0
>> tf= b-(a>2)
tf =
4 3 1 0 -1
>> tf= ~(a>4)
tf =
1 1 1 1 0
>> tf= (a>2)&(a<6)
tf =
0 0 1 1 1
以下是算式利用关系及逻辑运算产生一不连续的讯号
>> x=linspace(0,10,100); % 产生数据
>> y=sin(x); % 产生 sine 函数
>> z=(y>=0).*y; % 将 sin(x) 的负值设为零
>> z=z + 0.5*(y<0); % 再将上式的值加上0.5
>> z=(x<8).*z; % 将大于 x=8 以后的值设为零
>> hold on
>> plot(x,z)
>> xlabel('x'),ylabel('z=f(x)')
>> title('A discontinuous signal')
>> hold off
除了上述的运算元之外,尚有以下的逻辑关系函数:xor(x,y),
any(x), all(x),
isnan(x), isinf(x),
finite(x), find(x),其 使用方式详见线上说明。