用MATLAB进行数列统计的问题比如有一串数列0100010110...要用MATLAB统计其中00、01、10、11出现的次数,怎么用正则表达式实现?数列相邻数字都进行统计,例如010110在统计的时候就是00:0次,01:2次,10
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/24 04:51:11
用MATLAB进行数列统计的问题比如有一串数列0100010110...要用MATLAB统计其中00、01、10、11出现的次数,怎么用正则表达式实现?数列相邻数字都进行统计,例如010110在统计的时候就是00:0次,01:2次,10
用MATLAB进行数列统计的问题
比如有一串数列0100010110...要用MATLAB统计其中00、01、10、11出现的次数,怎么用正则表达式实现?数列相邻数字都进行统计,例如010110在统计的时候就是00:0次,01:2次,10:2次,11:1次.注意:用正则表达式实现.答得好的,
用MATLAB进行数列统计的问题比如有一串数列0100010110...要用MATLAB统计其中00、01、10、11出现的次数,怎么用正则表达式实现?数列相邻数字都进行统计,例如010110在统计的时候就是00:0次,01:2次,10
程序如下:
close all;clear;clc;
%下面是从txt中读取数列,如果是自己已经输入,可以直接从下面注释掉的语句开始
b = fopen('data.txt','r');
a = fread(b,'*char');
a = a';
fclose(b);
%a = '0101011010100101010101001010010';
[st1,ed1] = regexp(a,'00','start','end'); %st1,ed1分别由数列中00出现的开始位置和结束位置生成的矩阵
[st2,ed2] = regexp(a,'01','start','end'); %类上
[st3,ed3] = regexp(a,'10','start','end'); %类上
[st4,ed4] = regexp(a,'11','start','end'); %类上
[cs] = [length(st1) length(st2) length(st3) length(st4)]; %'00''01''10''11'出现次数也就是它们对应st或者ed的矩阵长度;所以cs就是它们出现次数集合
这个是我现学现写的程序,不知道好不好,你自己试试
我的数列是 0101011010100101010101001010010
结果是 cs =
3 13 13 1