|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
2 g$ u z5 N" e) r2 C: K) ~
转换成字符串之后用正则表达式进行匹配
7 K; t1 C. L6 D* s' m- 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;$ Q7 `$ N" U% T0 b4 c
4 s0 b9 k0 {/ F* O9 r! C# ]5 ]; V% `% e
很多这种统计向量中数的问题都可以转化为检测连续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 中连续数字出现的次数。
) w8 l& }, z* j$ E: Y; V |
|