資源簡介
關于可拓的關聯函數,數據挖掘方面有用。
代碼片段和文件信息
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
- 上一篇:PSNR和歸一化相關系數NC值
- 下一篇:基于matlab代碼實現的SVPWM程序
評論
共有 條評論