该【实验一-英文文本信息量的计算 】是由【办公资源】上传分享,文档一共【3】页,该文档可以免费在线阅读,需要了解更多关于【实验一-英文文本信息量的计算 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。实验一-英文文本信息量的计算
第 页 共 页
第 页 共 页
信电学院
信息论与编码
实验报告书
(2013/2014学年第二学期)
实验名称 : 英文文本信息量得计算
专业班级 : 通信三班
学生姓名 : 包博文
学 号: 120310323
指导教师 : 张龙
设计成绩 :
2014年 5月 10日
实验一 英文文本信息量得计算
一、实验目得
1 通过本实验熟悉Matlab软件编程环境;
2 编写M文件实现对英文文本信息量得计算,掌握信源熵得计算方法;
二、实验要求
1 了解Matlab中M文件得编辑、调试过程;
2 编写程序实现英文文本信息量得统计,掌握信源熵及信息量得计算方法;
三、实验步骤
① 查找各个英文字母及空格出现得频率;
② 在Matlab中读取给定得英文文章(该文章为txt格式);
③ 计算英文文章得长度;
④ 统计在该文章中各个字母及空格出现得次数并放入数组N中;
⑤ 计算各个字母与空格得信息量及整篇文章得信息量;
⑥ 计算信源熵。
四、实验结果
英文文本为(qwertyuiopasdfghjklqazwsxedc)
计算得:
Sum1=122、6059
H=4、3788
实验一-英文文本信息量的计算
第 页 共 页
第 页 共 页
输入相应得频率
计算各个字母、空格及整篇文章得信息量
计算信源熵
结束
开始
读取英文文章
计算文章得长度
嵌套得for循环语句
判断就是否符合循环条件
判断字就是否为大写母
放入数组N中对应得位置
就是
判断就是否为小写字母
放入数组N中对应得位置
就是
判断就是否为小写字母
放入数组N中对应得位置
就是
真
if
否elseif
否elseif
假
五、程序得流程图
六、编写得程序
(本程序只针对文章为纯英文文本,且文本中无标点符号)
wenzhang=textread('text、txt','%c');
len=size(wenzhang);
length=len(1,1);
N=zeros(1,52);
for i=1:length
if double(wenzhang(i,1))>96&&double(wenzhang(i,1))<=122
实验一-英文文本信息量的计算
第 页 共 页
第 页 共 页
N(1,double(wenzhang(i,1))-96)=N(1,double(wenzhang(i,1)-96))+1;
else double(wenzhang(i,1))>64&&double(wenzhang(i,1))<=91
N(1,double(wenzhang(i,1))-64)=N(1,double(wenzhang(i,1)-64))+1;
end
end
p=zeros(1,52);
p=N/length;
I=zeros(1,52);
I=log2(1、/p);
for i=1:52
if p(1,i)==0
I(1,i)=0;
end
end
sumI=sum(I、*N)
Ip=I、*p;
H=sum(Ip)
七、实验小结
通过本次实验熟悉了Matlab软件编程环境与一些函数得功能及使用,进一步巩固了熵得概念,掌握了信息量、信源熵得计算方法。
实验一-英文文本信息量的计算 来自淘豆网m.daumloan.com转载请标明出处.