MATLAB 基础知识 数据类型 分组数组 比较分类数组元素

本文演示了如何对分类数组执行关系运算。

基于字符向量元胞数组创建分类数组

创建一个 2×4 的字符向量元胞数组。

C = {'blue' 'red' 'green' 'blue';...
    'blue' 'green' 'green' 'blue'};

colors = categorical(C)
colors = 2x4 categorical
     blue      red        green      blue 
     blue      green      green      blue 

colors 是一个 2×4 的分类数组。

列出分类数组的类别。

categories(colors)
ans = 3x1 cell
    {'blue' }
    {'green'}
    {'red'  }

确定元素是否相等

使用关系运算符 eq (==) 比较 colors 的第一行和第二行。

colors(1,:) == colors(2,:)
ans = 1x4 logical array

   1   0   1   1

两行数据间仅第二列的值有所不同。

比较整个数组与字符向量

将整个分类数组 colors 与字符向量 ‘blue’ 进行比较以查找所有 blue 值的位置。

colors == 'blue'
ans = 2x4 logical array

   1   0   0   1
   1   0   0   1

colors 中有四个蓝色条目,数组的每个角一个。

转换为有序分类数组

对 colors 中的类别添加数学排序。指定表示色谱排序的类别顺序 red < green < blue。

colors = categorical(colors,{'red','green' 'blue'},'Ordinal',true)
colors = 2x4 categorical
     blue      red        green      blue 
     blue      green      green      blue 

分类数组中的元素仍然相同。

列出 colors 中的离散类别。

categories(colors)
ans = 3x1 cell
    {'red'  }
    {'green'}
    {'blue' }

按顺序比较元素

确定 colors 的第一列中的元素是否大于第二列中的元素。

colors(:,1) > colors(:,2)
ans = 2x1 logical array

   1
   1

第一列中的两个值 blue 都大于第二列中的对应值 red 和 green。

查找 colors 中小于 ‘blue’ 的所有元素。

colors < 'blue'
ans = 2x4 logical array

   0   1   1   0
   0   1   1   0

函数 lt (<) 指示所有 green 和 red 值为 1 的位置。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

结冰架构

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值