统计出现的次数matlab,使用MATLAB统计数列中数字出现的次数

问题描述:

使用MATLAB统计数列中数字出现的次数

例如有一串数列0100010110...要用MATLAB统计其中00、01、10、11出现的次数,怎么用正则表达式实现?详细说明的,

1个回答

分类:

综合

2014-10-22

问题解答:

我来补答

问你下,是从数列的开始划分,像01,00,0,.,还是只要是相邻的都算,一会给你编~

再问: 只要是相邻的都算,例如010110在统计的时候就是00:0次,01:2次,10:2次,11:1次,不局限于使用正则表达式,谢谢你了~

再答: 这个代码写好了,有疑问可以继续问: syms a b; c='abaababababb';%此处可令a=0,b=1; x=[0,0;0,0]; % x(1,1)是aa出现的次数,x(1,2)是ab出现的次数 % x(2,1)是ba出现的次数,x(2,2)是bb出现的次数 n=length(c); for i=1:n-1 if c(i)=='a' if c(i+1)=='a' x(1,1)=x(1,1)+1; else x(1,2)=x(1,2)+1; end end if c(i)=='b' if c(i+1)=='a' x(2,1)=x(2,1)+1; else x(2,2)=x(2,2)+1; end end end x 计算结果 x = 1 5 4 1 与给定的刚好满足,你如果需要算其他的可以放到变量C中就可以计算了!希望对你有帮助!

再问: 恩可以的,但是如果我的数列(就是你设的变量c)是从txt文件中导出的,要怎么修改呢?

再答: 你读入txt文档放入C中 文档名为:新建文本文档 (3) 里面内容为:ababababababbaaaabbb 放入可执行文件中,比如work文件夹 代码为: syms a b; %c='abaababababb';%此处可令a=0,b=1; loadc=importdata('新建文本文档 (3).txt'); c=loadc{1}; x=[0,0;0,0]; % x(1,1)是aa出现的次数,x(1,2)是ab出现的次数 % x(2,1)是ba出现的次数,x(2,2)是bb出现的次数 n=length(c); for i=1:n-1 if c(i)=='a' if c(i+1)=='a' x(1,1)=x(1,1)+1; else x(1,2)=x(1,2)+1; end end if c(i)=='b' if c(i+1)=='a' x(2,1)=x(2,1)+1; else x(2,2)=x(2,2)+1; end end end x 运行结果: x = 3 7 6 3 直接加我QQ 我的名字就是!

展开全文阅读

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值