实验二互信息的计算.doc

实验二互信息的计算.doc

ID:58960854

大小:33.00 KB

页数:3页

时间:2020-09-17

实验二互信息的计算.doc_第1页
实验二互信息的计算.doc_第2页
实验二互信息的计算.doc_第3页
资源描述:

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

1、实验二互信息的计算实验二互信息的计算信科1.实验目的进一步熟悉互信息的计算熟练掌握编程语言字符处理程序的设计和调试技术2.实验要求已知:信源符号为英文字母(不区分大小写)和空格。输入:一篇英文的信源文档。输出:列出每两个字母之间的互信息并计算平均互信息。基本思想读入英文字符,分两次读入第一次读入计算字符信息熵,第二次读入计算信道疑义度。计算平均互信息时,把读入的每个英文字符转化为对应的ASCII码,存入数组中。定义一个矩阵,用于存放前后两个字母出现的次数。对数组做循环,p[i]指向前一个字符,p[i+1]指向后个字

2、符,每向后移动一位,把矩阵的元素加1,直至把数组循环完。复制一个矩阵,分别求出联合概率和条件概率,把两个矩阵对应的元素相乘,把矩阵元素累加,即得信道疑义度。用熵减去信道疑义度,即得平均互信息。英文字符Eachofushassuchabank.It'snameis“TIME“.Everymorning,TIMEcreditsyouwith86400seconds.Everynightitwritesovernobalances.Itallowsnooverdraft.Eachday此资料由网络收集而来,如有侵权请告知

3、上传者立即删除。资料共分享,我们负责传递知识。itopensanewaccountforyou.Eachnightitburnstheremainsoftheday.Ifyoufailtousetheday'sdeposits,tgelossisyours.Thereisnogoingback.Thereisnodrawingagainstthe“tomorrow“.Youmustliveinthepresentontoday'sdeposits.Investitsoastogetfromittheutmostin

4、health,happinessandsuccess!Theclockisrunning.Makethemostoftoday.#include“stdio.h“#include“stdlib.h“#includevoidmain(){FILE*fp;fp=fopen(“file.txt“,“r“);intd,i=0,j=0;intp[1000];//用于存放字母intb,c,add=0;floatnum[26]={0},space=0;floatt;doubleshang;floatf[26]={0};float

5、M[27][27]={0},N[27][27]={0};if(fp==NULL){printf(“不能打开文件\n“);exit(0);};while((d=fgetc(fp))!=EOF)//把字符的ASC码存入数组中{p[i++]=d;}for(i=0;p[i]>0;i++)//把小写字母转化成大写字母{if(p[i]>=97)p[i]=p[i]-32;}printf(“字符的ASC码为:\n“);for(inta=0;p[a]>0;a++){printf(“%d“,p[a]);}printf(“\n“);//

6、把p填入矩阵M中for(i=0;p[i]>0;i++)//填满矩阵M第一行{if(p[i]==32){intg=p[i+1];if(g==32){M[0][0]=M[0][0]+1;}else{g=g-64;M[0][g]++;}}}for(i=0;p[i]>0;i++)//填满矩阵的其他行此资料由网络收集而来,如有侵权请告知上传者立即删除。资料共分享,我们负责传递知识。{if(p[i]!=32){inth,k;h=p[i]-64;k=p[i+1];if(k>0){if(k==32){k=0;}else{k=k-6

7、4;}M[h][k]=M[h][k]+1;}}}//求出连续两个字母出现的总数floattotal=0;for(i=0;i='a'&&c='A'&&c此资料由网络收集而来,如有侵权请告知上传者立即删除。资料共分享,我们负责传递知识。

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

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

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