逻辑型
所谓逻辑数据类型,就是仅具有“true”和“false”两个数值的一种数据类型。一般来说,逻辑true用1表示,逻辑false用0来表示。在MATLAB中,参与逻辑运算或者关系运算的并不一定必须是逻辑型的数据,任何数值都可以参与逻辑运算。在逻辑运算中,MATLAB将所有的非零值作为逻辑true来计算,而将零值作为逻辑false来计算。
和一般的数值型类似,逻辑型数据可以通过数值型转换得到,或者使用创建函数生成。
创建逻辑型矩阵或者数组的函数主要有以下3个。
- logical函数:可将任意类型的数组转换成逻辑型。期中非零元素为true,零元素为false。
- true函数:产生全部元素为逻辑true的数组。
- false函数:产生全部元素为逻辑fasle的数组。
逻辑型数组中的每一个元素仅占用一个字节的内存空间,逻辑型数据在使用二进制进行计算时速度要快的多。
参与逻辑运算的数组不必是逻辑型变量或者常数,也可以是其他类型的数据,但是运算结果一定是逻辑型数据。
所谓的短路作用是指:在进行&&或||运算时,若参运算的变量有多个,例如a&&b&&c&&d,并且a、b、c、d种a为false,则后面3个变量都不做处理,运算结束,并返回运算结果false(也就是0)。
关系运算符适用于各种数据类型的变量或者常数,运算结果都是逻辑型数据,标量也可以和矩阵或者数组进行比较,比较的时候将自动扩展变量,返回的结果是和数组同维的逻辑型数组。如果进行比较的是两个数组,则数组必须是同维的,且每一维的大小也必须相同。
isstrprop函数可以用来判断一个字符串中的各字符串是否属于某一类别。
>>A = cisstrprop('abc123def','alpha')
A =
1 1 1 0 0 0 1 1 1
'alpha’参数的作用是判断输入字符串abc123def中哪些元素是字母,相对应的返回值true,也就是1,而对于数字返回false,也就是0。