分类
是一种数据类型,用于存储来自有限组离散类别的值的数据,这些值可以具有自然顺序。可以指定和重新排列所有类别数组中的类别顺序。然而,你只能治疗序数类别数组具有对其类别的数学排序。如果要使用函数,请使用序号分类数组最小值
,马克斯
,或关系操作,如大于和小于。
宠物分类的离散集合{‘狗’‘猫’‘鸟’}
没有意义的数学排序。您可以自由使用任何类别顺序,关联数据的含义不会改变。例如,宠物=分类({‘鸟’,‘猫’,‘狗’,‘狗’,‘猫’})
创建一个类别数组,类别按字母顺序列出,{‘鸟’‘猫’‘狗’}
.您可以选择指定或更改类别的顺序为{‘狗’‘猫’‘鸟’}
数据的含义不会改变。
序数类别数组包含具有有意义的数学顺序的类别。例如,大小类别的离散集合{‘小’,‘中等’,‘大’}
有数学上的顺序小<中<大
.第一个类别是最小的,最后一个类别是最大的。有序类别数组中类别的顺序会影响有序类别数组的关系比较结果。
属性创建有序分类数组分类
函数与“顺序”,真的
名称-值对的论点。
字符向量单元格数组中的有序分类数组
创建一个有序分类数组,大小
,从字符向量的单元格数组中,一个
.使用valueset
,指定为具有唯一值的向量,以定义其类别大小
.
一个= {“媒介”“大”;“小”“媒介”;“大”“小”};valueset = {“小”,“媒介”,“大”};大小=分类(valueset,“顺序”,真正的)
大小=3 x2分类中、大号、小号、大号、小号
大小
3乘2的有序类别数组有三个类别吗小<中<大
.值的顺序valueset
成为类别的顺序大小
.
整数中的有序分类数组
从整数数组创建等价的分类数组。使用的值1
,2
,3.
定义类别小
,媒介
,大
,分别。
A2 = [2 3;1 - 2;3 1];valueset = 1:3;catnames = {“小”,“媒介”,“大”};sizes2 =分类(A2, valueset catnames,“顺序”,真正的)
sizes2 =3 x2分类中、大号、小号、大号、小号
比较大小
和sizes2
isequal(大小、sizes2)
ans =逻辑1
大小
和sizes2
是具有相同类别顺序的等价类别数组。
将类别数组从非序数转换为序数
从字符向量的单元格数组中创建一个非序数类别数组,一个
.
sizes3 =分类(一)
sizes3 =3 x2分类中、大号、小号、大号、小号
确定分类数组是否为序号。
isordinal (sizes3)
ans =逻辑0
sizes3
是一个有三个类别的非序数类别数组,{“大”,“中等”,“小”}
.的类别sizes3
排序的值是唯一的吗一个
.你必须使用输入参数,valueset
,以指定不同的类别顺序。
转换sizes3
为有序分类数组,如小<中<大
.
sizes3 =分类(sizes3, {“小”,“媒介”,“大”},“顺序”,真正的);
sizes3
一个3乘2的有序类别数组是否等于大小
和sizes2
.
为了组合或比较两个类别数组,两个输入数组的类别集必须相同,包括它们的顺序。此外,序数分类数组总是受到保护。因此,当您为有序分类数组赋值时,这些值必须属于一个现有类别。有关更多信息,请参见使用受保护的分类数组.