信息论实验二报告(3)

发布时间:2021-06-09

for i=1:n-1

[p,num]=sort(p); % 对输入元素排序并纪录

mark(i,:)=[num(1:n-i+1),zeros(1,i-1)];

p=[p(1)+p(2),p(3:n),1];

end

% 2)生成一个n-1行、n1(n×n)列矩阵table,每行可看做n个段,

% 每段长为n,记录一个码字(每个码字的长度不会超过n)。

for i=1:n-1

table(i,:)=blanks(n*n);

end

% 3)计算各个元素码字,循环n 2次,决定矩阵table

% 从倒数第二行开始到第行的每段的码字值,到编码表格table

table(n-1,n)='l'; % 小值赋1

table(n-1,2*n)='0'; % 大值赋0

for i=2:n-1

table(n-i,1:n-1)=table(n-i+1,n*(find(mark(n-i+1,:)==1))-(n-2)...

:n*(find(mark(n-i+1,:)==1))); % 按mark的记录依次赋值

table(n-i,n)='1';

table(n-i,n+1:2*n-1)=table(n-i,1: n-1);

table(n-i,2*n)='0';

for j=1:i-1

table(n-i,(j+1)*n+1:(j+2)*n)=table(n-i+1,...

n*(find(mark(n-i+1,:)==j+1)-1)+1:n*find(mark(n-i+1,:)==j+1)); % 按mark的记录依次赋值

end

end

% 4)得到编码后的码字

for i=1:n

W(i,1:n)=table(1,n*(find(mark(1,:)==i)-1)+1:n*find(mark(1,:)==i)); l(i)=length(find(abs(W(i,:))~=32));

end

L=sum(P.*l); % 计算平均码字长度

H=entropy(P,2); % 计算信源熵

V=sum(P.*((l-L).^2)); %计算码字的方差,以判断编码方法的优劣

q=H/L;% 计算编码效率

% 打印输出结果

for i=1:n

B{i}=i;

end

[m,n]=size(W);

TEMP=blanks(m);

W=[W,TEMP',TEMP',TEMP'];

[m,n]=size(W);

信息论实验二报告(3).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219