|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
% N' n1 z3 o# G3 L6 B2 D) d
转换成字符串之后用正则表达式进行匹配
, {; m, {- d) p& B- 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;+ A! F1 \7 d$ m- y! B
7 \2 C2 a) h/ w# F5 u5 k
很多这种统计向量中数的问题都可以转化为检测连续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 中连续数字出现的次数。
% L3 L% z- k, n5 ~9 L |
|