|
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 |
|