逻辑类型
创建数组 真:用true 假:用false
真:非零的值
假: 为零的值
>> a=true
a =
1
>> b=false
b =
0
>> a=true(4)
a =
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
>> b=false(5)
b =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
关系运算
分类:>、<、==、>=、<=、~=。
>> 5>8
ans =
0
>> 5==5
ans =
1
>> 2~=5
ans =
1
>> a=magic(3)
a =
8 1 6
3 5 7
4 9 2
>> b=[1 2 3;4 5 6;7 8 9]
b =
1 2 3
4 5 6
7 8 9
>> a>b
ans =
1 0 1
0 0 1
0 1 0
>> a<b
ans =
0 1 0
1 0 0
1 0 1
>> a==b
ans =
0 0 0
0 1 0
0 0 0
>> a~=b
ans =
1 1 1
1 0 1
1 1 1
与运算
运算表示
and and(a,b)
& a&b
>> a=2
a =
2
>> b=3
b =
3
>> a&b
ans =
1
>> c=[1 0 1;2 3 0;5 0 7]
c =
1 0 1
2 3 0
5 0 7
>> d=[1 1 1;1 1 0;1 1 1]
d =
1 1 1
1 1 0
1 1 1
>> c&d
ans =
1 0 1
1 1 0
1 0 1
>> and(a,b)
ans =
1
>> and(c,d)
ans =
1 0 1
1 1 0
1 0 1
或运算
运算方式
- or or(a,b)
- | a|b
>> or(3,0)
ans =
1
>> 3|0
ans =
1
>> a=[1 0 1;2 3 0;5 0 7]
a =
1 0 1
2 3 0
5 0 7
>> b=[1 1 1;1 1 0;1 1 1]
b =
1 1 1
1 1 0
1 1 1
>> or(a,b)
ans =
1 1 1
1 1 0
1 1 1
>> a|b
ans =
1 1 1
1 1 0
1 1 1
非运算
单目运算符
真:参与运算的元素为逻辑假或零时
假:参与运算的元素为逻辑真或非零时
运算方式
not not(a)
~ ~3
>> not(3)
ans =
0
>> ~0
ans =
1
>> a=[1 0 1;2 3 0;1 7 0]
a =
1 0 1
2 3 0
1 7 0
>> not(a)
ans =
0 1 0
0 0 1
0 0 1
异或运算
xor(a,b)
>> a=0
a =
0
>> b=1
b =
1
>> xor(a,b)
ans =
1
>> a=[1 2 3;4 5 6;0 1 0]
a =
1 2 3
4 5 6
0 1 0
>> b=[1 0 0;0 1 0;0 0 1]
b =
1 0 0
0 1 0
0 0 1
>> xor(a,b)
ans =
0 1 1
1 0 1
0 1 1
any运算
语法 B=any(A)
- A 是向量
>> a=[1 2 3 4 5 6 7]
a =
1 2 3 4 5 6 7
>> any(a)
ans =
1
>> a=[1 0 3 4]
a =
1 0 3 4
>> any(a)
ans =
1
>> a=[0 0 0]
a =
0 0 0
>> any(a)
ans =
0
- A是矩阵
>> a=zeros(4,6)
a =
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
>> any(a)
ans =
0 0 0 0 0 0
>> any(a,1)
ans =
0 0 0 0 0 0
>> any(a,2)
ans =
0
0
0
0
>> a(3,4)=1
a =
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 1 0 0
0 0 0 0 0 0
>> a(3,5)=1
a =
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 1 1 0
0 0 0 0 0 0
>> any(a)
ans =
0 0 0 1 1 0
>> any(a,1)
ans =
0 0 0 1 1 0
>> any(a,2)
ans =
0
0
1
0
- A是 [ ]
语法 B=any(A ,dim) - B=any(A,1) 等价于any(A)
- B=any(A,2)
all 函数
语法一: B=all(A)
A是向量
>> a=[1 2 3 4 5]
a =
1 2 3 4 5
>> all(a)
%全部不为0返回值就为1
ans =
1
>> a=[1 2 3 0 4]
%只要有0,结果就是0
a =
1 2 3 0 4
>> all(a)
ans =
0
A是矩阵
>> a=[1 2 3 0;1 0 2 3;4 5 6 7]
a =
1 2 3 0
1 0 2 3
4 5 6 7
>> all(a)
ans =
1 0 1 0
A是空
若A 是0*0数组
>> a=[]
a =
[]
>> all(a)
ans =
1
语法二: B=any(A,dim)
B=all(A ,1)
>> a=[2 3 4;0 1 2;3 4 0;5 6 7]
a =
2 3 4
0 1 2
3 4 0
5 6 7
>> b=all(a,1)
b =
0 1 0
B=all(A,2)
>> b=all(a,2)
b =
1
0
0
1
捷径运算符
只适合标量运算
&&
| |
>> a=2
a =
2
>> b=0
b =
0
>> a&&b
ans =
0
>> a||b
ans =
1