|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
: k2 X T4 }' Y" g转换成字符串之后用正则表达式进行匹配
+ f. ~# V, I K* K) x6 C- 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;
7 c! _- D; H6 a 5 N% K! F2 j5 q( M
很多这种统计向量中数的问题都可以转化为检测连续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 中连续数字出现的次数。
4 o2 \/ f7 n h* D8 @ |
|