欢迎来到天天文库
浏览记录
ID:22646140
大小:196.00 KB
页数:7页
时间:2018-10-30
《it实验--熵计算编程实验new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、云南大学数学与统计学院数学系信息与计算科学专业云南大学数学与与统计学院上机实践报告课程名称:信息论基础实验年级:2011级上机实践成绩:指导教师:陆正福姓名:凌建新上机实践名称:熵的计算编程实验学号:20111910101上机实践日期:2014.3.12上机实践编号:No.2组号:第七组上机实践时间:一、实验目的给定分布,计算熵;给定原始数据,计算熵二、实验内容1.给定二维分布函数,计算联合熵、条件熵、互信息、各变量的熵。 可选择课本例题2.2.1作为程序测试用例。2.自行设定原始数据(如一段文本、一幅图像、一个数据表等
2、),按照频率计算符号的分布, 进而计算有关的熵。三、实验环境个人计算机,Java平台对于非信息与计算科学专业的学生,可以选择任意编程平台四、实验记录与实验结果分析(注意记录实验中遇到的问题。实验报告的评分依据之一是实验记录的细致程度、实验过程的真实性、实验结果的解释和分析。如果涉及实验结果截屏,应选择白底黑字。)第一题:1.实验中需要用到的二维表xy1234 11/81/161/32 1/32 21/16 1/81/32 1/32 31/16 1/16 1/16 1/16 41/40 0 0 第7页共8
3、页云南大学数学与统计学院数学系信息与计算科学专业2.实验代码publicclassInformation{publicstaticvoidmain(String[]args){doubleHx=0,Hy=0,Hxy=0,Hx_y=0,Hy_x=0;doubleIxy=0;double[]num2=newdouble[4];double[]num3=newdouble[4];double[][]num={{(double)1/8,(double)1/16,(double)1/32,(double)1/32},{(double)
4、1/16,(double)1/8,(double)1/32,(double)1/32},{(double)1/16,(double)1/16,(double)1/16,(double)1/16},{(double)1/4,(double)0.0,(double)0.0,(double)0.0}};for(inti=0;i5、}for(inti=0;i6、num[0][j]+num[1][j]+num[2][j]+num[3][j];Hx=Hx-(num3[i]*Math.log(num3[i])/Math.log(2));}第7页共8页云南大学数学与统计学院数学系信息与计算科学专业System.out.println("y的熵为:H(x)="+Hx);break;}for(inti=0;i<4;i++){for(intj=0;j<4;j++){if(num[i][j]!=0){Hxy=Hxy-(num[i][j])*(Math.log(num[i][j])/Math.log7、(2));//H=-∑Pi*log2(Pi)}}}Hy_x=Hxy-Hx;Ixy=Hy-Hy_x;Hx_y=Hx-Ixy;System.out.println("联合熵为:H(xy)="+Hxy);System.out.println("条件熵:H(y8、x)="+Hy_x);System.out.println("互信息为:I(xy)="+Ixy);System.out.println("条件熵:H(x9、y)="+Hx_y);}}3实验结果截图第7页共8页云南大学数学与统计学院数学系信息与计算科学专业第二题:若输入大小写字母10、都存在的一段文本,计算其熵。1.实验中需要用到的文本a="abaaababbbababaa";b="abaaabbbabbbbbab";求a,b变量存在的概率;2.实验代码publicclassmation{publicstaticvoidmain(Stringargs[])throwsE
5、}for(inti=0;i6、num[0][j]+num[1][j]+num[2][j]+num[3][j];Hx=Hx-(num3[i]*Math.log(num3[i])/Math.log(2));}第7页共8页云南大学数学与统计学院数学系信息与计算科学专业System.out.println("y的熵为:H(x)="+Hx);break;}for(inti=0;i<4;i++){for(intj=0;j<4;j++){if(num[i][j]!=0){Hxy=Hxy-(num[i][j])*(Math.log(num[i][j])/Math.log7、(2));//H=-∑Pi*log2(Pi)}}}Hy_x=Hxy-Hx;Ixy=Hy-Hy_x;Hx_y=Hx-Ixy;System.out.println("联合熵为:H(xy)="+Hxy);System.out.println("条件熵:H(y8、x)="+Hy_x);System.out.println("互信息为:I(xy)="+Ixy);System.out.println("条件熵:H(x9、y)="+Hx_y);}}3实验结果截图第7页共8页云南大学数学与统计学院数学系信息与计算科学专业第二题:若输入大小写字母10、都存在的一段文本,计算其熵。1.实验中需要用到的文本a="abaaababbbababaa";b="abaaabbbabbbbbab";求a,b变量存在的概率;2.实验代码publicclassmation{publicstaticvoidmain(Stringargs[])throwsE
6、num[0][j]+num[1][j]+num[2][j]+num[3][j];Hx=Hx-(num3[i]*Math.log(num3[i])/Math.log(2));}第7页共8页云南大学数学与统计学院数学系信息与计算科学专业System.out.println("y的熵为:H(x)="+Hx);break;}for(inti=0;i<4;i++){for(intj=0;j<4;j++){if(num[i][j]!=0){Hxy=Hxy-(num[i][j])*(Math.log(num[i][j])/Math.log
7、(2));//H=-∑Pi*log2(Pi)}}}Hy_x=Hxy-Hx;Ixy=Hy-Hy_x;Hx_y=Hx-Ixy;System.out.println("联合熵为:H(xy)="+Hxy);System.out.println("条件熵:H(y
8、x)="+Hy_x);System.out.println("互信息为:I(xy)="+Ixy);System.out.println("条件熵:H(x
9、y)="+Hx_y);}}3实验结果截图第7页共8页云南大学数学与统计学院数学系信息与计算科学专业第二题:若输入大小写字母
10、都存在的一段文本,计算其熵。1.实验中需要用到的文本a="abaaababbbababaa";b="abaaabbbabbbbbab";求a,b变量存在的概率;2.实验代码publicclassmation{publicstaticvoidmain(Stringargs[])throwsE
此文档下载收益归作者所有