主要内容

使用分类的优点数组

分类数据的自然表现

分类是一个数据类型存储数据值从一组有限的离散的类别。一个常见的替代使用分类数组是使用字符数组或单元阵列的特征向量。比较字符数组中的值和细胞阵列的特征向量,您必须使用比较字符串可以麻烦。通过分类数组,您可以使用逻辑运算符情商(= =)比较元素以同样的方式你比较数字数组。其他常见的替代使用分类数组来存储分类数据使用整数数字数组。使用数值数组失去所有的有用的描述性信息类别名称,并且也表明整数值的通常的数字的含义,分类数据,他们不。

数学为特征向量排序

分类数组是方便和记忆有效的容器非数字数据值从一组有限的离散的类别。时特别有用的类别有一个有意义的数学排序,比如与条目数组从离散的类别{‘小’,‘中等’,‘大’}在哪里小<介质<大

以外的一个排序字母顺序是不可能的字符数组或单元阵列的特征向量。因此,不平等的比较,如更大的不足,是不可能的。与分类数组,您可以使用关系操作测试的平等和执行element-wise比较有意义的数学要求。

减少内存需求

这个例子展示了如何比较所需的内存存储数据的单元阵列特征向量和分类数组。分类数组有类别被定义为特征向量,可昂贵的存储和操纵单元阵列的特征向量字符数组中。分类数组存储只有一个副本的每个类别名称,通常减少所需的内存来存储阵列。

创建一个示例单元阵列的特征向量。

状态= [repmat ({“马”1);repmat({}, 25日“纽约”},25岁,1);repmat ({“CA”},50岁,1);repmat ({“马”1);repmat({}, 25日“纽约”},25岁,1)];

显示变量的信息状态

状态
名字大小字节类属性状态150 x1 16200细胞

的变量状态是一个单元阵列特征向量的需要17400字节的内存。

转换状态分类数组。

状态=分类(状态);

显示变量的离散的类别状态

类别(状态)
ans =3 x1细胞{“CA”}{‘马’}{“纽约”}

状态包含150个元素,但只有三个不同的类别。

显示变量的信息状态

状态
类属性名称大小字节状态150 x1 476类别

有一个显著减少所需的内存存储变量。

另请参阅

|

相关的例子

更多关于