找回密码
 注册
关于网站域名变更的通知
查看: 491|回复: 1
打印 上一主题 下一主题

转换成字符串之后用正则表达式进行匹配来统计向量中连续出现的数字并计数

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-3-9 16:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
' R: H, C6 n6 X/ z4 J
转换成字符串之后用正则表达式进行匹配
0 w$ H* c5 @% _, b- T  m8 M+ i; n
  • A = [0 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 0 1];
  • Ach = num2str(A); Ach(Ach==' ') = [];            %将A转换为字符串
  • [ind,indEnd] = regexp(Ach,'1*','start','end');    %匹配字符串连续1的位置
  • num = indEnd-ind+1;! v4 F) n! |: l2 Y( T8 M" F
( p) e& b1 j1 I$ ^$ D
很多这种统计向量中数的问题都可以转化为检测连续1出现次数,例如统计向量A中连续数字出现的位置和次数,A = [21,23,25,27,28,29,30,31,33,35,36,38,47,55], 那么进行一次转换:k = diff(A)==1,就可以得到 k  =  [0 0 0 1 1 1 1 0 0 1 0 0 0],其中 k 中连续1出现的位置是 A 中连续数字出现的位置,k中连续1出现的次数加1就是 A 中连续数字出现的次数。
6 }& d/ c( g, R9 v

该用户从未签到

2#
发表于 2021-3-9 17:43 | 只看该作者
转换成字符串之后用正则表达式进行匹配来统计向量中连续出现的数字并计数
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-20 17:16 , Processed in 0.062500 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表