院(系) | 学号 | 姓名 | 成绩 | ||||
课程 名称 | 信息与编码 | 党内法规清理的处理方式包括实验项目 名 称 | 信源剩余度的计算 | ||||
一 ,实验目的 熟练掌握信源熵的概念、信源剩余度的概念、熟练掌握C语言中文件操作与指针操作。 二,实验原理 信源熵的运算规则 三,实验内容 1、 编写一维信源统计程序,得出一维统计频次,计算信源熵及剩余度。 2、 编写一维信源统计程序,得出二维统计频次,计算信源熵及剩余度。 四,实验过程原始记录(数据,图表,计算等) 代码: #include <stdio.h> #include <math.h> #include <stdlib.h> #define NULL 0 int charge(char c) {int n; if(c>=65&&c<=90) 考风考纪 c=c+32; if( c>+97&&c<=122) { n=c-97; return n; } else return -1; } void main() { int count[26][26]={0}; char zifu1,zifu2; int i,n,m,j; int sum=0; float q, sum1=0; FILE *fp; If((fp=fopen(“file”, “rb”))==NULL) { printf(“ can’t open file!\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=sum+count[i][j]; printf(“the number of all the code is %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,%4d, %6.5f%% ”,i+97,j+97,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); } 五,实验结果分析或总结 经过这次实验,学会了信源剩余度的计算。 | |||||||
本文发布于:2024-09-22 07:27:50,感谢您对本站的认可!
本文链接:https://www.17tex.com/xueshu/273186.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |