📄 info_dis_get_distribution.m
字号:
function p=info_dis_get_distribution(s,m,l)
% 对一个已经0-1化的序列计算其分布{p(1), p(2), ..., p(m^l)};
% 输入:
% s - 已经0-1化的序列, 注意!! 本程序中s必须要求是一个行向量!!;
% m - symbol的个数;
% l - 指定的子序列的长度;
% Sigma - 字符集
% 输出:
% p - s序列的分布 <1×m^l> double.
% s=[0 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 0 1 1 1 1 1 1 1];
slength=length(s);
ps=zeros(1,m^l);
for i=1:slength-l+1
tmp=s(i:i+l-1);
if m==2
tmp1=bin2dec(num2str(tmp))+1; %因为matlab数组维数从1开始
else
tmp1=0;
for j=1:l
tmp1=tmp1+tmp(j)*m^(l-j);
end
tmp1=tmp1+1;
end
ps(tmp1)=ps(tmp1)+1;
end;
clear tmp tmp1;
p=ps/(slength-l+1);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -