用MATLAB处理数列的问题
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/06/14 04:50:41
用MATLAB处理数列的问题
例如有一串数列0100010110...要用MATLAB统计其中00、01、10、11出现的次数,具体怎么实现?麻烦详细说明下,
例如有一串数列0100010110...要用MATLAB统计其中00、01、10、11出现的次数,具体怎么实现?麻烦详细说明下,
![用MATLAB处理数列的问题](/uploads/image/z/2363716-28-6.jpg?t=%E7%94%A8MATLAB%E5%A4%84%E7%90%86%E6%95%B0%E5%88%97%E7%9A%84%E9%97%AE%E9%A2%98)
你把01000……这些数写成以下格式
x=[01 00 00 10 ……]
调用tabulate(x)
就可以得出结果.
返回的是各元素出现的次数和所占总数的比例.
具体就是:
clc
clear
x=[01 00 00 10 ……]
tabulate(x)
再问: 也就是说X取00、01之类的值吗?X的长度有限制吗?
再答: X的长度有限制,这个函数本来就是统计学里的; 你要求的是只算两个与两个之间的数量 那么你只要把你那一串二制的号码写着两个两个的形式就行了。就像我写的格式那样就行了。
再问: 哦,但是我要求的是数列中00、01、10、11出现的次数,就是不能单纯地把数列以2个数字做分组,例如100100中10出现的次数是2,但是按照分组,即为10 01 00,那么统计出来的10次数就只有1次了,不符合我的原意。有没有什么办法解决呢?谢谢~
再答: 对,如果是这样的要求就不能用简单分组后用tabulate函数来处理了; 或者你可以用一些字符对比的方法来找咯,因为你要的结果用数来表示不出来了。
x=[01 00 00 10 ……]
调用tabulate(x)
就可以得出结果.
返回的是各元素出现的次数和所占总数的比例.
具体就是:
clc
clear
x=[01 00 00 10 ……]
tabulate(x)
再问: 也就是说X取00、01之类的值吗?X的长度有限制吗?
再答: X的长度有限制,这个函数本来就是统计学里的; 你要求的是只算两个与两个之间的数量 那么你只要把你那一串二制的号码写着两个两个的形式就行了。就像我写的格式那样就行了。
再问: 哦,但是我要求的是数列中00、01、10、11出现的次数,就是不能单纯地把数列以2个数字做分组,例如100100中10出现的次数是2,但是按照分组,即为10 01 00,那么统计出来的10次数就只有1次了,不符合我的原意。有没有什么办法解决呢?谢谢~
再答: 对,如果是这样的要求就不能用简单分组后用tabulate函数来处理了; 或者你可以用一些字符对比的方法来找咯,因为你要的结果用数来表示不出来了。