收藏 分销(赏)

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

上传人:二*** 文档编号:4570908 上传时间:2024-09-30 格式:DOC 页数:4 大小:31.50KB 下载积分:5 金币
下载 相关 举报
基于matlab的英文文本信息量的统计-正确.doc_第1页
第1页 / 共4页
本文档共4页,全文阅读请下载到手机保存,查看更方便
资源描述
实验一:英文文本信息量的计算 一、 实验目的及要求 a) 实验目的 1、 通过本实验熟悉Matlab软件编程环境 2、 编写M文件实现对英文文本信息量的统计,掌握信息量、信源熵的计算方法 b) 实验要求 1、 了解matlab中M文件的编辑、调试过程 2、 编写程序实现对给定英文文本信息量的统计 3、 英文文本中字母不区分大小写,考虑空格的信息量,但不考虑标点符号的信息量 4、 建议英文文本采用txt格式 二、 实验步骤及运行结果记录 a) 实验步骤 1、查找各个英文字母及空格出现的频率 2、在Matlab中读取给定的英文文章(该文章为txt格式) 3、计算英文文章的长度 4、统计在该文章中各个字母及空格出现的次数并放入数组N中 5、计算各个字母和空格的信息量及整篇文章的信息量 6、计算信源熵 b)实验结果 sumI = 3.0516e+003;H = 4.0324 三、 程序流程图(附一) 四、 程序清单,并注释每条语句(附二) 五、 实验小结 通过本次实验熟悉了Matlab软件编程环境和一些函数的功能及使用,掌握了信息量、信源熵的计算方法。 输入相应的频率 计算各个字母、空格及整篇文章的信息量 计算信源熵 结束 开始 读取英文文章 计算文章的长度 嵌套的for循环语句 判断是否符合循环条件 判断字是否为大写母 放入数组N中对应的位置 是 判断是否为小写字母 放入数组N中对应的位置 是 判断是否为小写字母 放入数组N中对应的位置 是 真 if 否elseif 否elseif 假 附一: 附二: wenzhang=textread('english text.txt','%5c'); %读取英文文章 M=size(wenzhang); row=M(1,1); line=M(1,2); %文章的长度 N=zeros(1,27); for i=1:row for j=1:line if double(wenzhang(i,j))>96&&double(wenzhang(i,j))<=122 N(1,double(wenzhang(i,j))-96)=N(1,double(wenzhang(i,j))-96)+1; elseif double(wenzhang(i,j))>64&&double(wenzhang(i,j))<=90 N(1,double(wenzhang(i,j))-64)=N(1,double(wenzhang(i,j))-64)+1; elseif double(wenzhang(i,j))==32 N(1,27)=N(1,27)+1; end end end %统计各字母和空格出现的个数并存入N数组中。'a'的值为97,'z'的值为122,'A'的值为65,'Z'的值为90,空格的值为32 for i=1:27 P(1,i)=N(1,i)/sum(N); end ;%各个字母和空格出现的概率 I=zeros(1,27); for i=1:27 if (P(1,i)~=0) I(1,i)=log2(1/P(1,i)); else I(1,i)=0; end end sumI=sum(I.*P) %%%计算信源熵 (此文档部分内容来源于网络,如有侵权请告知删除,文档可自行编辑修改内容,供参考,感谢您的配合和支持) 编辑版word
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服