信息编码课设符号信息熵的求解
信息论与编码信源与信息熵

• 联合熵H(X1,X2)表达平均每二个信源符号所携带 旳信息量。
• 我们用1/2H(X1,X2)作为二维平稳信源X旳信息熵 旳近似值。那么平均每一种信源符号携带旳信
息量近似为:
– 信源符号分布旳不均匀性。 • 等概率分布时信源熵最大。
log 2 n H0 (X ) H1(X ) H2 (X ) H (X )
26
冗余度
• 对于有记忆信源,极限熵为H∞(X)。 • 这就是说我们需要传送这一信源旳信息,理论
上只需要传送H∞(X)即可。但必须掌握信源全 部概率统计特征,这显然是不现实旳。
/
符号
11
• 例:有一离散平稳无记忆信源
求:二次扩展信源旳熵
X p(x)
x1 1
2
x2 1
4
x3 1 4
X2信源 旳元素
相应旳 消息序列
概率p(ai)
a1 a2 a3 a4 a5 a6 a7 a8 a9
x1x1 x1x2 x1x3 x2x1 x2x2 x2x3 x3x1 x3 x2 x3 x3 1/4 1/8 1/8 1/8 1/16 1/16 1/8 1/16 1/16
• 目前后符号无依存关系时,有下列推论:
H(X1X2) H(X1) H(X2)
H (X1 | X 2 ) H (X1), H (X 2 | X1) H (X 2 )
14
离散有记忆信源序列熵
• 信源旳联合熵(即前后两个符号(X1,X2)同步发生 旳不拟定度)等于信源发出前一种符号X1旳信息 熵加上前一种符号X1已知时信源发出下一种符号 X2旳条件熵。
编码理论实验报告实验一霍夫曼编码中信息熵及编码效率的实验

实验名称实验一霍夫曼编码中信息熵及编码效率的实验一、实验目的1. 掌握霍夫曼编码中信息熵的定义、性质和计算;2. 掌握霍夫曼编码中平均码字长度的定义和计算;3.掌握霍夫曼编码中编码效率的定义和计算;4. 正确使用C语言实现霍夫曼编码中信息熵、平均码长和编码效率的求取。
二、实验内容1. 熟练列出霍夫曼编码中信息熵、平均码长和编码效率各自的计算公式;2. 正确使用C语言实现计算霍夫曼编码中信息熵、平均码长和编码效率的程序,并在Visual C++环境中验证。
三、实验原理1. 霍夫曼编码的基本原理按照概率大小顺序排列信源符号,并设法按逆顺序分配码字字长,使编码的码字为可辨识的。
2. 平均码长:L=∑p(s i)*l i (单位为:码符号/信源符号)其中,p(s i)为信源s i在q个信源中出现的概率,l i为信源s i的二进制霍夫曼编码。
3. 信息熵:H(S)=- ∑p(s i) *log2 p(s i) (单位为:比特/信源符号)其中,p(s i)为信源s i在q个信源中出现的概率。
4. 编码效率:η= H(S)/ L其中,H(S)为信息熵,L为平均码长。
四、实验步骤:1. Huffman编码示例如下图:2. 根据Huffman 编码的例子,用C 语言完成计算霍夫曼编码中信息熵的程序的编写,并在Visual C++环境中验证;3. 根据Huffman 编码的例子,用C 语言完成计算霍夫曼编码中平均码长的程序的编写,并在Visual C++环境中验证;4. 根据Huffman 编码的例子,用C 语言完成计算霍夫曼编码中编码效率的程序的编写,并在Visual C++环境中验证;实验程序:/*********** 霍夫曼编码信息熵、平均码长及编码效率的计算 ************ //按照实验步骤的要求完成程序,正确计算霍夫曼编码的信息熵、//平均码长以及编码效率,并通过printf 函数将三者的计算结果//打印出来#include<stdio.h>#include<string.h>#include<math.h>#define CH_Num 5 //信源符号个数//主函数void main(){//编程1:定义double 型数组gailv 存放各信源符号出现的概率double gailv[CH_Num]={0.4,0.2,0.2,0.15,0.05};//编程2:定义int 型数组code_len 存放各信源符号的霍夫曼编码 int code_len[CH_Num]={2,2,2,3,3};//编程3:定义double 型变量aver_Len 、Hs 和code_ratio ,分别//对应信息熵、平均码长及编码效率,并初始化为0S1 S2 S3 S4 S5 概率 0.05 0.4 0.2 0.2 0.15 信源缩减过程 0.4 0.2 0.2 0.2 0.4 0.4 0.2 0.6 0.4 编码 011 00 10 11 010 码长 32 2 2 300 10 11010 011 10 11 0100 01 00 11 0 信源符号double aver_Len=0,Hs=0,code_ratio=0;int i;//编程4:利用for循环计算平均码长aver_Lenfor(i=0;i<CH_Num;i++)aver_Len+=gailv[i]*code_len[i];//编程5:利用for循环计算信息熵Hsfor(i=0;i<CH_Num;++i)Hs+=-(gailv[i]*(log(gailv[i])/log(2)));//编程6:计算编码效率code_ratiocode_ratio=Hs/aver_Len;//编程7:利用三条printf语句分别打印平均码长、信息熵和编码效率 printf("平均码长=%lf 比特/信源符号\n",aver_Len);printf("信源熵=%lf 码符号/信源符号\n",Hs);printf("编码效率=%lf\n",code_ratio);}运行结果如下图:实验心得:通过本次试验加深了对霍夫曼编码的基本原理的理解以及计算公式的记忆。
信息论与编码课程设计--统计信源熵与哈夫曼编码

信息论与编码课程设计--统计信源熵与哈夫曼编码信息论与编码课程设计信息论与编码课程设计报告设计题目:统计信源熵与哈夫曼编码专业班级学号学生姓名指导教师教师评分2015年 3 月 25 日1信息论与编码课程设计目录一、设计任务与要求...................................................................... ...........................................3 二、设计思路...................................................................... .......................................................3 三、设计流程图...................................................................... (5)四、程序运行及结果...................................................................... ...........................................6 五、心得体会...................................................................... . (8)参考文献...................................................................... (9)附录:源程序...................................................................... .. (10)2信息论与编码课程设计一、设计任务与要求1.1设计目的信息论与编码是信息、通信、电子工程专业的基础,对理论研究和工程应用均有重要的作用。
实验一-信息熵与图像熵计算-正确

实验一信息熵与图像熵计算(2 学时)一、实验目的1.复习MATLAB的基本命令,熟悉MATLAB下的基本函数;2.复习信息熵基本定义,能够自学图像熵定义和基本概念。
二、实验内容1.能够写出MATLAB源代码,求信源的信息熵;2.根据图像熵基本知识,综合设计出MATLAB程序,求出给定图像的图像熵。
三、实验仪器、设备1.计算机-系统最低配置256M内存、P4 CPU;2.MATLAB编程软件。
四实验流程图五实验数据及结果分析四、实验原理1.MATLAB中数据类型、矩阵运算、图像文件输入与输出知识复习。
2.利用信息论中信息熵概念,求出任意一个离散信源的熵(平均自信息量)。
自信息是一个随机变量,它是指某一信源发出某一消息所含有的信息量。
所发出的消息不同,它们所含有的信息量也就不同。
任何一个消息的自信息量都代表不了信源所包含的平均自信息量。
不能作为整个信源的信息测度,因此定义自信息量的数学期望为信源的平均自信息量:1( ) 1 ( ) [log ] ( ) log ( ) i n i i p a i H E p a p a X 信息熵的意义:信源的信息熵H是从整个信源的统计特性来考虑的。
它是从平均意义上来表征信源的总体特性的。
对于某特定的信源,其信息熵只有一个。
不同的信源因统计特性不同,其熵也不同。
3.学习图像熵基本概念,能够求出图像一维熵和二维熵。
图像熵是一种特征的统计形式,它反映了图像中平均信息量的多少。
图像的一维熵表示图像中灰度分布的聚集特征所包含的信息量,令Pi表示图像中灰度值为i的像素所占的比例,则定义灰度图像的一元灰度熵为:2550 log i i i p p H图像的一维熵可以表示图像灰度分布的聚集特征,却不能反映图像灰度分布的空间特征,为了表征这种空间特征,可以在一维熵的基础上引入能够反映灰度分布空间特征的特征量来组成图像的二维熵。
选择图像的邻域灰度均值作为灰度2分布的空间特征量,与图像的像素灰度组成特征二元组,记为(i,j),其中i表示像素的灰度值(0<=i<=255),j表示邻域灰度(0<=j<=255),2 ( , ) / ij p f i j N上式能反应某像素位置上的灰度值与其周围像素灰度分布的综合特征,其中f(i,j)为特征二元组(i,j)出现的频数,N为图像的尺度,定义离散的图像二维熵为:2550 log ij ij i p p H构造的图像二维熵可以在图像所包含信息量的前提下,突出反映图像中像素位置的灰度信息和像素邻域内灰度分布的综合特征。
随机事件的不确定性或信息量的度量-信息熵

信息熵是一种度量随机事件的不确定性或信息量的方法。
它用来衡量随机事件的复杂度和混乱程度,从而反映信息的实际价值。
信息熵的具体计算方法如下:对于每一个可能的结果,都要计算其发生概率。
对于每一个可能的结果,都要计算其对应的信息量。
这通常是采用对数函数计算,即以2为底的对数。
将每一个可能的结果的信息量乘以其发生概率,然后将所有的结果的信息量求和,即可得到信息熵的值。
对于每一个可能的结果,都要计算其发生概率。
在计算信息熵的过程中,首先需要计算每一个可能的结果的发生概率。
这是因为,发生概率与信息量是密切相关的,发生概率越大,信息量就越大。
因此,在计算信息熵时,必须首先确定每一个可能的结果的发生概率。
通常情况下,可以通过对事件发生的次数进行计数,来计算发生概率。
例如,如果有一个随机事件,其中有4种可能的结果,分别是A、B、C、D,且这4种结果在总共10次实验中对于每一个可能的结果,都要计算其发生概率。
在计算信息熵的过程中,首先需要计算每一个可能的结果的发生概率。
这是因为,发生概率与信息量是密切相关的,发生概率越大,信息量就越大。
因此,在计算信息熵时,必须首先确定每一个可能的结果的发生概率。
通常情况下,可以通过对事件发生的次数进行计数,来计算发生概率。
例如,如果有一个随机事件,其中有4种可能的结果,分别是A、B、C、D,且这4种结果在总共10次实验中分别发生了2次、3次、2次、3次,则它们的发生概率分别为0.2、0.3、0.2、0.3。
对于每一个可能的结果,都要计算其对应的信息量。
这通常是采用对数函数计算,即以2为底的对数。
在计算信息熵的过程中,需要计算每一个可能的结果的信息量。
这是因为,信息量与发生概率是密切相关的,发生概率越大,信息量就越大。
因此,在计算信息熵时,必须首先确定每一个可能的结果的信息量。
通常情况下,信息量是采用对数函数计算的,即以2为底的对数。
这是因为,在计算信息量时,需要考虑信息的不确定性,而以2为底的对数可以很好地反映信息的不确定性。
信息熵的表示和计算

信息熵的表示和计算
实验题目:
信息熵的表示和计算
实验要求:
要求输入一段英文文章,统计英文字母的概率,计算细心熵。
实验原理:
分别初始化两个整形数组和双精度数组,用以计数字母出现的次数和出现的概率(不区分大小写)。
对输入的每一个字母分别进行检测,同时与之相应的整形数组的元素加1,遇到回车停止,空格不加入计算。
然后对数组的元素进行统计,分别计算其出现的概率,把概率结果放入与之对应的双精度数组中。
最后输出统计结果。
算法与流程:
运行结果如图所示:
分析:
由于算法设计的限制,导致在设计程序时,循环体内过于冗长,循环效率低。
信息论实验报告(实验一、信源与信息熵的计算)

学生实验报告
院别电子信息学院课程名称信息论语编码实验
班级实验名称实验一、信源与信息熵的计算姓名实验时间
学号指导教师
成绩
报告内容
一、实验目的和任务
1、理解自信息、互信息、熵等概念;
2、熟悉 MATLAB程序设计;
3、掌握通过计算机实验计算离散信源的信息量及熵的计算方法;
4、对给定信源分别计算出信源熵、条件熵、联合熵、交互熵;
二、实验原理介绍
三、实验设备介绍
1、计算机
2、编程软件MATLAB6.5以上
四、实验内容和步骤
H X H Y H X Y H Y X H XY I X Y 分别求出如下图所示离散信道的(),(),(|),(|),(),(;)
1、面出程序设计的流程图。
2、写出在调试过程中出现的问题。
3、对实验的结果进行分析。
五、实验数据记录
六、实验结论与心得
通过本次实验,加强了对matlab程序的学习,进一步提高了我的编程能力。
信息论与编码实验报告

中南大学信息论编码实验报告题目信息论编码学生姓名汤思远指导教师张祖平学院信息院学号 090912052专业班级电子1班完成时间 14/12/5实验一 关于信源熵的实验一、实验目的1. 掌握离散信源熵的原理和计算方法。
2. 熟悉matlab 软件的基本操作,练习使用matlab 求解信源的信息熵。
3. 自学图像熵的相关概念,并应用所学知识,使用matlab 或其他开发工具求解图像熵。
4. 掌握Excel 的绘图功能,使用Excel 绘制散点图、直方图。
二、实验原理1. 离散信源相关的基本概念、原理和计算公式产生离散信息的信源称为离散信源。
离散信源只能产生有限种符号。
随机事件的自信息量I (x i )为其对应的随机变量x i 出现概率对数的负值。
即:I (x i )= -log 2 p (x i )随机事件X 的平均不确定度(信源熵)H (X )为离散随机变量x i 出现概率的数学期望,即:∑∑-==i ii i i i x p x p x I x p X H )(log )()()()(2. 信源的信息熵设信源符号集X ={a1,a2,…,ar},每个符号发生的概率分别为p (a1)=p 1,p (a2)=p 2,…,p (ar),即信源的概率空间为,⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡)(...... )2(2 )1(1ar p ar a p a a p a P X 则该信源的信源熵为:H (X ) = - p (a1) log p (a1) –p (a2) log p (a2) –…–p (ar) log p (ar)3. 信道的数学模型与相关熵的计算• 单符号离散无噪声无损信道的信道容量 ()max (;)bit/i p x C I X Y =信道符号4. MATLAB 二维绘图用matlab 中的命令plot(x , y )就可以自动绘制出二维图来。
例1-2,在matlab 上绘制余弦曲线图,y = cos x ,其中0 ≤ x ≤ 2π。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告课程名称信息编码课题名称符号信息熵的求解任务书下达日期20……年6月16日任务完成日期20……年6月27日一、设计目的通过课程设计使学生更进一步掌握信息论与编码课程的有关知识,提高编程的能力,并将所学的内容加以综合。
通过查阅资料,了解所学知识的应用情况。
同时也使学生通过动手进行程序设计从而提高解决实际问题的能力。
二、课程设计要求1、认真查阅资料2、遵守课程设计时间安排3、按时上机,认真调试程序4、认真书写报告三、报告书写格式1、课程设计封面2、课程设计任务书3、正文4、参考文献5、课程设计成绩报告单四、设计题目1、符号信源熵的求解给定信源各个符号发生概率,条件概率,编程求解各个符号的自信息量和信源的熵,条件熵,联合熵。
2、图像信源熵的求解读入一幅图像,编程实现求解图像信源的熵。
3、互信息的求解已知信源发出x的概率,及接收到y后的x的后验概率,编程实现互信息、平均互信息的求解。
4、唯一可译码的判断总结唯一可译码的概念与判断方法,编程实现:给定码字,判断是否为唯一可译码。
5、即时码的构造与判断总结即时码的概念与判断方法,编程实现:构造给定码长的即时码;给定码字,判断是否为即时码。
6、香农编码的分析与实现给定信源各个符号及其发生概率,编程求解其香农编码的码字,平均码长,及编码效率。
8、费诺编码的分析与实现给定信源各个符号及其发生概率,编程求解其费诺编码的码字,平均码长,及编码效率。
9、用香农-费诺-埃利斯编码的分析与实现给定信源各个符号及其发生概率,编程求解其香农-费诺-埃利斯编码码字,平均码长,及编码效率。
10、哈夫曼编码的分析与实现给定信源各个符号及其发生概率,编程求解其哈夫曼编码码字,平均码长,及编码效率。
11、 LZW编码的分析与实现12、算术编码的分析与实现13、线性分组码的编译码的分析与实现14、对称信道容量的求解给定信道的概率矩阵,编程判断其是否为对称信道,并求解其信道容量15、准对称信道容量的求解给定信道的概率矩阵,编程判断其是否为准对称信道,并求解其信道容量16、信道容量迭代算法的分析与实现说明:课程设计说明书一般应包括理论分析与仿真,编程语言可自行选择,说明书字数在3000字左右;五、时间安排1、查阅资料及程序设计(2天)2、上机调试程序(2天)3、书写报告(1天)六、成绩评定1、未完成设计任务,没达到设计要求则成绩为“不及格”。
2、基本完成设计任务,并撰写出课程设计报告则成绩为“及格”。
3、学生能够认真查阅资料,独立完成设计任务,程序调试通过,并且撰写出课程设计报告则成绩为“中”。
4、学生能够认真查阅资料,独立完成设计任务,程序调试通过,功能完善,操作灵活,界面美观,并且撰写出课程设计报告则成绩为“良好”。
5、学生根据自身的实际能力,在实现设计题目基本要求的基础上增加一些功能,评定成绩时根据其难度和完成情况给与适当加分,如界面效果,系统操作的方便性、灵活性、创新性等,如果设计非常完善则成绩为“优秀”。
目录一、符号信息熵的概念 (7)自信息量 (7)信源熵 (7)联合熵与条件熵 (7)二、符号信息熵的题目 (7)三、实例分析 (8)四、实验结果 (8)五、总结 (14)六、参考文献 (15)附:源代码 (16)七、课程设计评分表 (18)一、符号信息熵的概念自信息量: 个随机事件的自信息量定义为其出现概率倒数的对数。
即:1()loglog ()()i i i I x p x p x ==- 信源熵(平均不确定度/平均信息量/平均自信息量):为信源中各个符号不确定度的数学期望,即()()()()log ()i i i i iiH X p x I x p x p x ==-∑∑单位为:比特/符号 或者 比特/符号序列.联合熵与条件熵: X 与 Y 的联合熵定义为∑∑==-=mj ni j i j i y x p y x p XY H 11)(log )()(X 与 Y 的条件熵定义为∑∑==-=mj ni j i j i y x p y x p Y X H 11)/(log )()/(二、符号信息熵的题目题目: 有两个同时输出的信源X 和Y ,其中X 的信源符号为{A ,B ,C ,D },Y 的信源符号为{E ,F ,G,H },已知 P(X )和P (Y|X ),求自信息量和信源的熵以及联合信源的联合熵和条件熵。
三、实例分析根据公式可得:1()loglog ()()i i i I x p x p x ==- -log0.2, -log0.1, -log0.4, -logo.3 ()()()()log ()i i i i iiH X p x I x p x p x ==-∑∑=-0.2log0.2-0.1log0.1-0.4log0.4-0.3logo.3=1.846439∑∑==-=mj ni j i j i y x p y x p XY H 11)(log )()(=1.769626∑∑==-=mj ni j i j i y x p y x p Y X H 11)/(log )()/(=1.774896四、实验结果在一段判断输入X 的概率是否正确,不正确则退出程序的代码中 原代码为:在调试过程中发现如下问题:若条件概率之和不为1,但其(s-1)*(s-1)<0.01,如下则该程序仍能运行!所以在运行过程中发现其是错误的应将其中的条件改为s!=1则如果条件概率之和不为1,但其(s-1)*(s-1)<0.01,便会出现以下情况(重新输入)题目:有两个同时输出的信源X和Y,其中X的信源符号为{A,B,C,D },Y 的信源符号为{E,F,G,H },已知 P(X )和P(Y|X),求自信息量和信源的熵以及联合信源的联合熵和条件熵。
其实验结果如下五、总结通过此次课程设计,使我更加扎实的掌握了有关符号信源熵的求解和编译程序的原理和步骤的知识,并且对信源的熵的概念及其与自信息量之间的关系也有了比较深刻的认识和理解。
而且我还感觉到,经过认真做此次课程设计对我将来综合运用所学理论知识独立分析和解决问题的能力的提高将会有很大的帮助。
在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。
实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。
不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。
过而能改,善莫大焉。
在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获龋最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。
这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。
我感觉用心细心地做好一件事情的重要性,在这次课程设计中,体会到了做设计的严谨,更加加深了我对课程设计的兴趣,在此次课程设计过程中,遇到不懂的问题我会及时向老师,同学请教,以更好地完成该项课题设计。
一个人的能力有限;此次的课程设计能够成功,是我自身的努力和寻求老师同学的帮助共同努力作用的结果。
在这一段努力学习的过程中,收获还真是不少。
以后,努力学习好这么课程,让自己拥有更多的知识,才能解决更多的问题。
六、参考文献1傅祖芸 . 信息论———基础理论与应用 .北京:电子工业出版社,20012 周荫清 . 信息理论基础 .北京:北京航空航天大学出版社,20023 T M Cover & J A Thomas . Elements of Informat ion Theory .New York: John Wiley& Sons . Inc ., 19914 [美] R W 汉明著,朱雪龙译 . 编码和信息理论 .北京:科学出版社,19845 朱雪龙 . 应用信息论基础 .北京:清华大学出版社,20016 姜丹 . 信息论与编码 .合肥:中国科技大学出版社,20017 陈运 . 信息论与编码 .北京:电子工业出版社,20028 曹雪虹 . 信息论与编码 .北京:北京邮电大学出版社,20019 吴伟陵 . 信息处理与编码 .北京:人民邮电出版社,2003七、源代码:#include<stdio.h>#include<math.h>#define u 20int i,j,n,m;float H_X,H_Y,H_XY,H_XpY,Pypx[u][u],Px[u],Ix[u],H_YpX,Py[u],Pxpy[u][u],Pxy[u][u];float log2(float x){float z;z=(float)(log(x)/log(2));return z;}float entropy(float *x,int n){float z=0;for(i=1;i<=n;i++){ z+=(*(x+i))*log2(1/(*(x+i)));}return z;}float joint_entropy(float (*p)[u]){ float z=0;for(i=1;i<=n;i++)for(j=1;j<=m;j++){ z+=*(p[i]+j)*log2(1/(*(p[i]+j))); }return z; }main(){float s=0;printf("\nplease in put the dimension of 'X' and 'Y'\n");scanf("%d %d",&n,&m);printf("\nThe dimension of X is n=%d\nThe dimension of Y is m=%d\nPlease input the condition probability:P(y[j]/x[i]),",n,m);printf("(after you input one number please click the 'enter')\n");for(i=1;i<=n;i++){for(j=1;j<=m;j++){printf("P(y[%d]/x[%d])=",j,i);scanf("%f",&Pypx[i][j]); }}printf("please input P(x[i]):(after you input one number please click the 'enter')\n");for(i=1;i<=n;i++){printf("P(x[%d])=",i);scanf("%f",&Px[i]);}for(i=1;i<=n;i++){if((Px[i]<0)||(Px[i]>1)){printf("Please input right value of probability\n");goto End_exe; }s+=Px[i];}if(s!=1){printf("Please input the right value of probability\n");goto End_exe;}for(i=1;i<=n;i++){s=0;for(j=1;j<=m;j++){s+=Pypx[i][j];}if(s!=1){printf("Please input the right value of probability\n");goto End_exe; }}for(i=1;i<=n;i++){for(j=1;j<=m;j++){Pxy[i][j]=Pypx[i][j]*Px[i];printf("Px[%d]y[%d]=%f\n",i,j,Pxy[i][j]); } }for(j=1;j<=m;j++){ s=0;for(i=1;i<=n;i++)s+=Pxy[i][j];Py[j]=s;printf("P(y[%d])=%f\n",j,Py[j]);}for(i=1;i<=n;i++){for(j=1;j<=m;j++){Pxpy[i][j]=Pxy[i][j]/Py[j];printf("P(x[%d]/y[%d])=%f\n",i,j,Pxpy[i][j]); }}for(i=1;i<=n;i++){Ix[i]=-log10(Px[i])/log10(2);printf("Ix[%d]=%f\n",i,Ix[i]);}H_X=entropy(Px,n);printf("\nThe entropy of X :H(X)=%f\n",H_X);H_Y=entropy(Py,m);printf("\nThe entropy of Y :H(Y)=%f\n",H_Y);H_XY=joint_entropy(Pxy);printf("\nThe joint entropy of X and Y :H(XY)=%f\n",H_XY);H_XpY=H_XY-H_Y;H_YpX=H_XY-H_X;printf("\nThe conditional entropy:\nH(X/Y)=%f\t\tH(Y/X)=%f\n",H_XpY,H_YpX); End_exe:;}课程设计评分表教师签名:日期:。