信息熵函数的计算.doc

信息熵函数的计算.doc

ID:61425659

大小:1.70 MB

页数:6页

时间:2021-01-29

信息熵函数的计算.doc_第1页
信息熵函数的计算.doc_第2页
信息熵函数的计算.doc_第3页
信息熵函数的计算.doc_第4页
信息熵函数的计算.doc_第5页
资源描述:

《信息熵函数的计算.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、2014—2015学年第1学期合肥学院数理系实验报告课程名称:信息论与编码实验项目:信息熵函数的计算实验类别:综合性□设计性□验证性□专业班级:11级信息与计算科学专业姓名:学号:实验地点:数理系机房实验时间:2014.12.12指导教师:余海峰成绩:一.实验目的任选C语言,C++,或MATLAB等一种语言编写程序,计算信息熵、条件熵、联合熵,并通过2~3个运行的结果,验证程序的正确性。通过编程实现信息论的一些基本计算,熟悉和理解信息论基本概念二.实验内容程序要求:输入:信源分布,信道转移概率矩阵其中;输出:信源

2、熵,条件熵,联合熵。三.实验方案或步骤(程序设计说明)实验选用C语言编程,用一维数组存储信源分布数据,二维数组存储信道转移概率矩阵。利用循环(嵌套)语句计算以下公式并输出需要的结果:,,四.实验程序(经调试后正确的源程序)#include"stdio.h"#include"stdlib.h"#include"math.h"#defineM20//最大行数#defineN20//最大列数/*求以2为底x为顶的对数*/floatlog2(floatx){returnlog(x)/log(2);}//log2(x)/*

3、主函数*/voidmain(){intm,n,i,j;floatH_X,H_X_Y,H_Y_X,H_XY;//H(X),H(X

4、Y),H(Y

5、X),H(XY)floatP_X_Y,P_Y_X,P_XY;//P(X

6、Y),P(Y

7、X),P(XY)floatP_X[M],P_Y[N],matrix[M][N];//信源分布P(X),P(Y),信道转移概率矩阵while(1){printf("请输入信源分布的元素个数m:");scanf("%d",&m);printf("输入信源分布:");for(i=0;i<

8、m;i++)scanf("%f",&P_X[i]);printf("输入的信源分布为:");for(i=0;i

9、n");for(j=0;j

10、Y)H_X_Y=0;for(j=0;j

11、P_Y[j]+P_XY;}}for(i=0;i

12、Y){for(j=0;j

13、Y)=%f",H_X_Y);//条件熵H(X

14、Y)//条件熵H(Y

15、X)H_Y_X=0;for(i=0;i

16、P_XY=P_Y_X*P_X[i];H_Y_X=H_Y_X-P_XY*log2(P_Y_X);}}printf("条件熵H(Y

17、X)=%f",H_Y_X);//条件熵H(Y

18、X)//联合熵H(XY)H_XY=H_X+H_Y_X;printf("联合熵H(XY)=%f",H_XY);//联合熵H(XY)}}五.程序运行结果(列举2-3个)六.实验总结及心得体会本次实验我使用的是C语言编程没有清晰的数学思维和对概念的了解,大体思想是利用数组存储数据,然后将数学公式转化为程序语言运算并输出。程序难度虽然

19、不大,但是难以理清程序中的变量和下标的。因此实验过程中我体会到了数学在编程中的重要性,同时加深了对“信息熵”概念的理解。七.教师评语教师签名:年月日

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。