资源简介

关于可拓的关联函数,数据挖掘方面有用。

资源截图

代码片段和文件信息

clear;
P=[1/36 2/36 3/36 4/36 5/36 6/36 5/36 4/36 3/36 2/36 1/36];
N=length(P);
for component=1:1:N
    if(P(component)<0)
     error(‘信源概率不能小于0‘);
 end
end
if((sum(P)-1)>0.0001)
    error(‘信源概率之和必须为1‘);
end
%建立各概率符号的位置索引矩阵Index利于编码后从树根进行回溯从而得出对应的编码
Q=P
Index=zeros(N-1N);  %初始化Index  
for i=1:N-1  
   [QL]=sort(Q);  
   Index(i:)=[L(1:N-i+1)zeros(1i-1)];
   G(i:)=Q;
   Q=[Q(1)+Q(2)Q(3:N)1]; %将Q中概率最小的两个元素合并,元素不足的地方补1
end
%根据以上建立的Index矩阵,进行回溯,获取信源编码
for i=1:N-1
    Char(i:)=blanks(N*N);%初始化一个由空格符组成的字符矩阵N*N用于存放编码
end
%从码树的树根向树叶回溯,即从G矩阵的最后一行按与Index中的索引位置的对应关系向其第一行进行编码
Char(N-1N)=‘0‘;%G中的N-1行即最后一行第一个元素赋为0,存到Char中N-1行的N列位置
Char(N-12*N)=‘1‘;%G中的N-1行即最后一行第二个元素赋为1,存到Char中N-1行的2*N列位置
%以下从G的倒数第二行开始向前编码
for i=2:N-1  
   Char(N-i1:N-1)=Char(N-i+1N*(find(Index(N-i+1:)==1)) -(N-2):N*(fi

评论

共有 条评论