信息编码与密码学实验一:离散随机变量的信息量的计算实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课内实验报告
院系:理学院信息与计算科学系
班级:
学生姓名:学号:
课程名称:信息编码与密码学
实验题目:离散随机变量信息量的计算
指导教师:胡建平
朱振菊
2011年4月11日
一、实验题目
离散随机变量信息量的计算
二、实验目的
1.掌握离散随机变量的信息量的计算方法;
2.理解离散随机变量信息量之间的关系。
三、实验内容与要求
计算单个离散随机变量的熵;计算两个离散随机变量联合熵;计算给定一个随机变量后另外一个变量的条件熵;计算两个离散随机变量的互信息。实验的具体要求如下:
1.针对实际问题所涉及的离散随机变量进行熵、联合熵和互信息的计算;
2.验证熵,联合熵,条件熵,互信息之间的关系式;
3.绘制出熵函数的图像。
四、实现方法
问题:一批产品共有100件,其中一等品60件、二等品30件、三等品10件,从这品产品中又放回的人任意取三件,以X和Y分别表示取出的3件产品中一等品、二等品的件数。
将X、Y看做两个离散的随机变量,计算X、Y的熵、联合熵、条件熵、互信息。
步骤一:先写出X,Y的联合分布列:
X Y
0 1 2 3 ∑ 0 0.001 0.009 0.027 0.027 0.064 1 0.018 0.108 0.162 0 0.288 2 0.108 0.324 0 0 0.432 3 0.216 0 0 0 0.216 ∑ 0.343
0.441
0.189
0.027
1
步骤二:利用公式∑
==
=a
i i
c
i
p p
pa p 1
1
log
,.......,1H H )()(ε分别计算
出X 、Y 的熵;
步骤三:作出)1log()1(log H p p p p ----=)(ε的图像,
图像记为熵函数;
步骤四:根据),(log ),(H ),(),(y x y x p p y x ηεηεηε∑∑Y
∈X
∈-=),(计算出他
们的联合熵;
步骤五:因为)|()()|()(H H ηεηεηεηεH H H +=+=),(,根据本式可计算出条件熵;
步骤六:因为
η
ε与的互信息
)
;(ηεI 为:
∑
∑Y
∈X
∈=
=y x y q x p y x p y x p y p x p y x p )
()()
,(l o
g
),()]()(||),([H I );(ηε,根据上式计算
出互信息,并作出图像。
五、 实验结果
X的熵函数 1.7717
Y的熵函数 1.6453
XY的联合熵函数 3.3498
H(X|Y) 1.7044
H(Y|X) 1.5781
互信息I(x;y)0.95751
熵函数图像(二元)
熵函数图像(三元)
互信息图像
六、源程序清单
1、计算X、Y的熵
%******************************************/ %计算离散随机变量的熵
%******************************************/ px=[0.064,0.288,0.432,0.216];%px
py=[0.343,0.441,0.189,0.027];%py
Hx=0.0;
Hy=0.0;
for i=1:4
Hx=Hx+px(i)*log2(1/px(i));
Ix(i)=log2(1/px(i));
end
for j=1:4
Iy(j)=log2(1/py(j));
Hy=Hy-py(j)*log2(py(j));
end
str1=['Hx的熵为:' num2str(Hx)]
str2=['Hy的熵为:' num2str(Hy)]
disp(str1);
disp(str2);
2、作出熵函数的图像
%*************************
%显示熵函数图像(三元)
%************************
px=0:0.01:1;
py=0:0.01:1
H=-px.*log2(px)-py.*log2(py)-(1-px-py).*log2(1-px-py); plot3(px,py,H,'r-')
title('三元熵函数')
xlabel('px');
ylabel('py');
grid on
%*************************
%显示熵函数图像(二元)
%************************
p=0:0.01:1;
H=-p.*log2(p)-(1-p).*log2(1-p);
plot(p,H,'m-')
title('二元熵函数')
xlabel('p');
ylabel('H');
grid on
3、计算离散随机变量的联合熵函数
%****************************************** %计算离散随机变量的联合熵函数
%****************************************** px=[0.064,0.288,0.432,0.216];
py=[0.343,0.441,0.189,0.027];
p3=px.*py;
Hx=0.0;