桂林电子科技大学数学与计算科学学院实验报告实验室:06410 实验日期:年 月 日院(系)学号姓名成绩课程名称信息与编码实验项目名 称信源剩余度的计算一,实验目的熟练掌握信源熵的概念、信源剩余度的概念、熟练掌握C语言中文件操作与指针操作。二,实验原理信源熵的运算规则三,实验内容自己生成一个英文文件,可以在网上找,也可以自己生成。为了保证实验数据的可靠性,数据的量要比较大。为了保证二维信源统计的可靠性,建议文件的英文字符在十万以上。1、编写一维信源统计程序,得出一维统计频次,计算信源熵及剩余度。2、编写一维信源统计程序,得出二维统计频次,计算信源熵及剩余度。四,实验过程原始
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
(数据,图
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
,计算等)代码:#include
#include#include#defineNULL0intcharge(charc){intn;if(c>=65&&c<=90)c=c32;if(c>97&&c<=122){n=c-97;returnn;}elsereturn-1;}voidmain(){intcount[26][26]={0};charzifu1,zifu2;inti,n,m,j;intsum=0;floatq,sum1=0;FILE*fp;If((fp=fopen(“file”,“rb”))==NULL){ printf(“can’topenfile!\n”);exit(0);}while(!feof(fp)){ zifu1=fgetc(fp);n=charge(zifu1);if(n!=-1){ zifu2=fgetc(fp);m=charge(zifu2);if(m!=-1){count[n][m];fseek(fp,-1,1);}}}fclose(fp);for(i=0;i<26;i)for(j=0;j<26;j)sum=sumcount[i][j];printf(“thenumberofallthecodeis%d\n”,sum);q=(float)sum;for(i=0;i<26;i)for(j=0;j<26;j){if(j%3==0)printf(“\n”);printf(“%c%c,M, %6.5f%% ”,i97,j97,count[i][j],count[i][j]*100/q);}printf(“\n”);for(i=0;i<26;i)for(j=0;j<26;j)if(count[i][j])sum1=sum1(float)((count[i][j]/q)*log10(1/(double)(count[i][j]/q))/log10((double)(2)));printf(“\n信息熵为: H(x)=%f\n”,sum1);}五,实验结果分析或总结经过这次实验,学会了信源剩余度的计算。