基于matlab的英文文本信息量的统计-正确.doc

基于matlab的英文文本信息量的统计-正确.doc

ID:55930784

大小:48.00 KB

页数:3页

时间:2020-06-16

基于matlab的英文文本信息量的统计-正确.doc_第1页
基于matlab的英文文本信息量的统计-正确.doc_第2页
基于matlab的英文文本信息量的统计-正确.doc_第3页
资源描述:

《基于matlab的英文文本信息量的统计-正确.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、信息论与编码实验报告实验一:英文文本信息量的计算一、实验目的及要求a)实验目的1、通过本实验熟悉Matlab软件编程环境2、编写M文件实现对英文文本信息量的统计,掌握信息量、信源熵的计算方法b)实验要求1、了解matlab中M文件的编辑、调试过程2、编写程序实现对给定英文文本信息量的统计3、英文文本中字母不区分大小写,考虑空格的信息量,但不考虑标点符号的信息量4、建议英文文本采用txt格式二、实验步骤及运行结果记录a)实验步骤1、查找各个英文字母及空格出现的频率2、在Matlab中读取给定的英文文章(该文章为txt格式)3、计算英文文章的长度4、统计在该文章中

2、各个字母及空格出现的次数并放入数组N中5、计算各个字母和空格的信息量及整篇文章的信息量6、计算信源熵b)实验结果sumI=3.0516e+003;H=4.0324三、程序流程图(附一)四、程序清单,并注释每条语句(附二)五、实验小结通过本次实验熟悉了Matlab软件编程环境和一些函数的功能及使用,掌握了信息量、信源熵的计算方法。3信息论与编码实验报告输入相应的频率计算各个字母、空格及整篇文章的信息量计算信源熵结束开始读取英文文章计算文章的长度嵌套的for循环语句判断是否符合循环条件判断字是否为大写母放入数组N中对应的位置是判断是否为小写字母放入数组N中对应的位

3、置是判断是否为小写字母放入数组N中对应的位置是真if否elseif否elseif假附一:3信息论与编码实验报告附二:wenzhang=textread('englishtext.txt','%5c');%读取英文文章M=size(wenzhang);row=M(1,1);line=M(1,2);%文章的长度N=zeros(1,27);fori=1:rowforj=1:lineifdouble(wenzhang(i,j))>96&&double(wenzhang(i,j))<=122N(1,double(wenzhang(i,j))-96)=N(1,double

4、(wenzhang(i,j))-96)+1;elseifdouble(wenzhang(i,j))>64&&double(wenzhang(i,j))<=90N(1,double(wenzhang(i,j))-64)=N(1,double(wenzhang(i,j))-64)+1;elseifdouble(wenzhang(i,j))==32N(1,27)=N(1,27)+1;endendend%统计各字母和空格出现的个数并存入N数组中。'a'的值为97,'z'的值为122,'A'的值为65,'Z'的值为90,空格的值为32fori=1:27P(1,i)=N(

5、1,i)/sum(N);end;%各个字母和空格出现的概率I=zeros(1,27);fori=1:27if(P(1,i)~=0)I(1,i)=log2(1/P(1,i));elseI(1,i)=0;endendsumI=sum(I.*P)%%%计算信源熵3

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

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

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