Matlab的Categorical类型的一个常见用法

categorical是一个Matlab数据类型,可将数值分配给有限组的离散类别,比如“高”,“中”,“低”三个组。分类数组能提供高效的数据存储和方便的非数值数据处理,同时为数值保留有意义的名称。分类数组的一个常见用法是识别出table里的指定行数据。

一、将数组数据格式设置为分类类型

可用 B = categorical(A),将A转换成categorical类型的数组B。

也可在导入数据的界面,选则数据类型为categorical。

二、查看包含的分类名

用categories(A)函数查看categorical类型的数组A所包含的类别名称。

三、提取该类别的其他信息

TF = (T.Stations == ‘S2’); %将符合条件的对应位置置1
T(TF,:) %提取相关信息
在这里插入图片描述

四、Categorical类型转换(使用中遇到的bug)

在处理卫星观测值时,将观测值信息存成一个table,并将其中的“卫星系统”和“卫星PRN号”设置为categorical类型。如图所示:
在这里插入图片描述
提取信息时发生如下bug:将卫星PRN序号存到数组时,传递的值不正确。此处的sv_first里的prn应该是8,但是传输到output数组里时变成了5。
在这里插入图片描述

原因是PRN是Categorical类型,直接将其转换成double返回的是类型序号,而非类型名称。
在这里插入图片描述
解决方法是先将其转换成string类型再转成double类型。
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值