您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 信息论实验报告1--信息熵的计算
辽宁工程技术大学上机实验报告实验名称信息熵的相关计算院系姓名实验目的简述本次实验目的:1、理解信息熵的概念2、掌握信息熵计算Matlab程序编写方法实验准备你为本次实验做了哪些准备:认真阅读《信息论》教材,熟悉信息熵的原理以及相应的MATLAB函数指令实验进度本次共有6个练习,完成6实验总结日本次实验的收获、体会、经验、问题和教训:1、信息熵计算Matlab源码求H(x):function[a,b]=H_x(A)sum=0;B=zeros(5,1);hx=0;%求H(x)的熵fori=1:5%i代表行forj=1:4%j代表列sum=sum+A(i,j);endhx=hx-sum*log2(sum);B(i,1)=sum;sum=0;enda=B;b=hx;求H(y):function[a,b]=H_y(A)sum=0;B=zeros(1,4);hy=0;fori=1:4%i代表列成绩forj=1:5%j代表行sum=sum+A(j,i);endB(1,i)=sum;hy=hy-sum*log2(sum);sum=0;enda=B;b=hy;求H(xy):functiony=H_xy(A)%直接输出的结果sum=0;fori=1:5forj=1:4ifA(i,j)~=0sum=sum-A(i,j)*log2(A(i,j));endendendy=sum;求H(y|x):functiony=H_y_x(A)sum=0;fori=1:5forj=1:4sum=sum+A(i,j);endA(i,:)=A(i,:)/sum;sum=0;endy=A;求H(x|y):functiony=H_x_y(A)sum=0;fori=1:4forj=1:5sum=sum+A(j,i);endA(:,i)=A(:,i)/sum;sum=0;endy=A;2、数值试验算例(2个)(1)已知联合概率分布如下:00.05000.10.050000.10.050000.30.10000.25求H(x),H(y),H(xy)A=[0.25000;0.100.3000;00.050.100;000.050.10;000.050];[X,HX]=H_x(A)X=0.25000.40000.15000.15000.0500HX=2.0660[a,b]=H_y(A)a=0.35000.35000.20000.1000b=1.8568H_xy(A)ans=2.6660(2)已知联合概率分布如下:00.05000.10.050000.10.050000.30.10000.25求H(x|y),H(y|x)A=[0.25000;0.100.3000;00.050.100;000.050.10;000.050];H_x_y(A)ans=0.71430000.28570.85710000.14290.50000000.25001.0000000.25000H_y_x(A)ans=1.00000000.25000.75000000.33330.66670000.33330.6667001.00000教师评语
本文标题:信息论实验报告1--信息熵的计算
链接地址:https://www.777doc.com/doc-7167851 .html