matlab英文文本信息量,实验一英文文本信息量的计算

41528d3028836879cd698677c3999917.gif实验一英文文本信息量的计算

1信电学院信息论与编码实验报告书(2013/2014 学年第二学期)实验名称 : 英文文本信息量的计算 专业班级 : 通信三班 学生姓名 : 包博文 学 号: 120310323 指导教师 : 张龙 设计成绩 : 2014 年 5 月 10 日2实验一 英文文本信息量的计算一、实验目的1 通过本实验熟悉 Matlab 软件编程环境;2 编写 M 文件实现对英文文本信息量的计算,掌握信源熵的计算方法;二、实验要求1 了解 Matlab 中 M 文件的编辑、调试过程;2 编写程序实现英文文本信息量的统计,掌握信源熵及信息量的计算方法;三、实验步骤① 查找各个英文字母及空格出现的频率;② 在 Matlab 中读取给定的英文文章(该文章为 txt 格式) ;③ 计算英文文章的长度;④ 统计在该文章中各个字母及空格出现的次数并放入数组 N 中;⑤ 计算各个字母和空格的信息量及整篇文章的信息量;⑥ 计算信源熵。四、实验结果英文文本为(qwertyuiopasdfghjklqazwsxedc)计算得:Sum1=122.6059H=4.37883五、程序的流程图输入相应的频率计算各个字母、空格及整篇文章的信息量计算信源熵结束开始读取英文文章计算文章的长度嵌套的for 循环语句判断是否符合循环条件判断字是否为大写母放入数组 N 中对应的位置是判断是否为小写字母放入数组 N 中对应的位置是判断是否为小写字母放入数组 N 中对应的位置是真 if否elseif否elseif假4六、编写的程序(本程序只针对文章为纯英文文本,且文本中无标点符号)wenzhang=textread( text.txt , %c );len=size(wenzhang);length=len(1,1);N=zeros(1,52);for i=1:lengthif double(wenzhang(i,1))>96endendp=zeros(1,52);p=N/length;I=zeros(1,52);I=log2(1./p); for i=1:52if p(1,i)==0I(1,i)=0;endendsumI=sum(I.*N)Ip=I.*p;H=sum(Ip)七、实验小结通过本次实验熟悉了 Matlab 软件编程环境和一些函数的功能及使用,进一步巩固了熵的概念,掌握了信息量、信源熵的计算方法。2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值