

逻辑型:也就是其它语言中的布尔型,包括 真(true)、假(false) 两种数值。在适当的场景使用逻辑型能够简化相关操作。
逻辑型的值只有两个:true(真)、false(假),在 matlab 中也可以用 0 和 1 表示。
可以使用 logical() 函数将 数值型 转化为 逻辑型。
逻辑型有三种创建方式:直接赋值、根据表达式创建 以及 函数转化。
logical() 函数将数值型数据转换成逻辑型>> x = true %令x为true
x =
logical
1
>>
>> y = false %令y为false
y =
logical
0
>>
>> whos
Name Size Bytes Class Attributes
x 1x1 1 logical
y 1x1 1 logical 其次,逻辑型变量也可以根据表达式的返回值进行创建或赋值。
>> c = 10<9
c =
logical
0
>>
>> d = 10>9
d =
logical
1
>>
>> whos
Name Size Bytes Class Attributes
c 1x1 1 logical
d 1x1 1 logical 使用 logical() 函数转化有以下两种情况:
0数值型转化为逻辑型1,也就是true(真)0转化为逻辑型0,也就是false(假)>> a = logical(10) %非0数值型转化为逻辑型1(ture)
a =
logical
1
>>
>> b = logical(0) %数值型0转化为逻辑型0(false)
b =
logical
0
>>
>> whos
Name Size Bytes Class Attributes
a 1x1 1 logical
b 1x1 1 logical ture() 函数 和 false() 函数除了上面创建逻辑型的用法之外,还可以用来,创建 n*n 阶的逻辑型方阵,示例如下:
>> e = true(4)
e =
4×4 logical 数组
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
>>
>> f = false(5)
f =
5×5 logical 数组
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
>>
>> whos
Name Size Bytes Class Attributes
e 4x4 16 logical
f 5x5 25 logical 也可以用来创建 n*m 阶矩阵。
>> g = true(4,9)
g =
4×9 logical 数组
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
>>
>> g = false(4,5)
g =
4×5 logical 数组
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0可以使用 true() 函数 和 false() 函数 配合 size() 函数将数值型矩阵转化为逻辑型矩阵。
>> A = [1,2,3;4,5,6]
A =
1 2 3
4 5 6
>>
>> false(size(A))
ans =
2×3 logical 数组
0 0 0
0 0 0
>>
>> true(size(A))
ans =
2×3 logical 数组
1 1 1
1 1 1