⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 info_dis_get_distribution.m

📁 计算Information Discrepancy中的FDOD函数集
💻 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 + -