
信息论实验报告.docx
5页信息论实验报告信息论实验报告 联合信源各种熵的计算联合信源各种熵的计算实验原理与方法:实验原理与方法: 1 1、二元联合信源的共熵、二元联合信源的共熵( (或者联合熵或者联合熵) )为:为:2 2、、X X 给定的情况下给定的情况下 Y Y 的条件熵:的条件熵:3 3、、Y Y 给定的情况下给定的情况下 X X 的条件熵:的条件熵:4 4、共熵、条件熵、无条件熵之间的关系、共熵、条件熵、无条件熵之间的关系 H(XY)=H(X)+H(Y/X)=H(X/Y)+H(Y)题目题目1 1:已知信源:已知信源X X与信源与信源Y Y的概率空间分别为:的概率空间分别为: X XA AB BC CD D P(x)P(x)1/21/21/41/41/81/81/81/8Y Y A AB B P(y)P(y)7/87/81/81/8 求两个信源的熵求两个信源的熵实验程序:实验程序: p1=[1/2,1/4,1/8,1/8]; p2=[7/8,1/8]; H1=0.0; H2=0.0; for i=1:4H1=H1+p1(i)*log2(1/p1(i)); end H1 for j=1:2H2=H2+p2(j)*log2(1/p2(j)) end H2实验结果:实验结果: H1 =7/4 H2 =549/1010 jijijiyxpyxpYXH,)(1log)()(. )(log)( , jijijiyxpyxpjiijjixypyxpXYH,)/(1log)()/(;)/(log)( ,jiijjixypyxp.)/(1log)()/(,jijijiyxpyxpYXH.)/(log)(,jijijiyxpyxp题目题目2 2:: 已知信源已知信源X X、、Y Y的联合概率空间:的联合概率空间: Y/XY/XA AB BC CD D A A1/81/81/161/161/321/321/321/32 B B1/161/161/81/81/321/321/321/32 C C1/161/161/161/161/161/161/161/16 D D1/41/40 00 00 0 计算联合熵计算联合熵H(x,y)H(x,y)、条件熵、条件熵H(x/y)H(x/y)、互信息量、互信息量I(x,y)I(x,y)以及以及H(x),H(y)H(x),H(y)实验程序实验程序 p=[1/8 1/16 1/32 1/32;1/16 1/8 1/32 1/32;1/16 1/16 1/16 1/16;1/4 0 0 0]; py=0; px=0; H_xy = 0; H_x_y =[0 0 0 0]; H_y_x =[0 0 0 0]; sum1 = 0; sum2 = 0; format rat for i=1:1:4for j=1:1:4if(p(i,j)==0)p(i,j)=eps;endsum1 = sum1 + p(i,j)*log2(1/(p(i,j)));endH_xy = H_xy + sum1;sum1=0; end fprintf(2,'联合熵I(x,y)') ; H_xy for i=1:4for j=1:4sum1 = sum1 + p(i,j);sum2 = sum2 + p(j,i);endpy(i)= sum1; %py是关于y的边缘分布px(i)= sum2; %px是关于x的边缘分布sum1 = 0;sum2 = 0; end for i=1:4for j=1:4Hy(i,j)= p(i,j)/py(i);Hx(i,j)= p(j,i)/px(i);end end %求H(x|y=i) %求H(y|x=i) for i=1:4for j=1:4H_x_y(i) = H_x_y(i) + Hy(i,j)*log2(1/Hy(i,j));H_y_x(i) = H_y_x(i) + Hx(i,j)*log2(1/Hx(i,j));end end A=H_x_y.*py; B=H_y_x.*px; fprintf(2,'条件熵H(X/Y):') ; sum(A,2) fprintf(2,'条件熵H(Y/X):') ; sum(B,2) fprintf(2,'熵H(X);') ; H_xy-sum(A,2) fprintf(2,'熵H(Y);') ; H_xy-sum(B,2)实验结果:实验结果: 联合熵I(X;Y): H_xy =27/8 条件熵H(X|Y): ans =11/8 条件熵H(Y|X): ans =13/8 熵H(X): ans =2 熵H(Y): ans =7/4 实验感想:实验感想: 熵及其各种熵乃是信息论的基础熵及其各种熵乃是信息论的基础 ,只有对其有了深刻的认识,我们才会了解,只有对其有了深刻的认识,我们才会了解 更多,而经过这几次的对于熵的编程练习,发现想要掌握他们的公式定律,刚看书更多,而经过这几次的对于熵的编程练习,发现想要掌握他们的公式定律,刚看书 记定律是不够的。
记定律是不够的理论实践相结合理论实践相结合””,多训练,我们才能更加灵活地运用多训练,我们才能更加灵活地运用。
