matlab英文文本信息量,实验一英文文本信息量的计算-Read.doc

实验一英文文本信息量的计算-Read

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

一 实验目的

1 通过本实验熟悉Matlab软件编程环境

2 编写M文件实现对英文文本信息量的计算,掌握信源熵的计算方法

二 实验要求

2 编写程序实现英文文本信息量的统计,掌握信源熵及信息量的计算方法

三 实验步骤

1 安装matlab软件(已完成)

2 建立文件夹D:信息论与编码实验lab1,将待统计英文文本拷贝至该文件夹中

3 运行matlab软件,点击桌面的matlab快捷方式图标,或从“开始”菜单启动matlab软件

4 熟悉matlab软件环境

5 新建M文件(file菜单中选择new即可),录入英文文本信息统计程序,将程序保存在建立文件夹D:信息论与编码实验lab1中(注意:文件名应用英文命名)

6 将matlab当前的路径设置为D:信息论与编码实验lab1

7 运行M文件,方式一:在M文件编写界面中点击DEBUG菜单项,选择RUN;方式二:在matlab的命令窗口中输入文本信息统计程序的名称后,输入“回车”,并记录运行结果。

8 运行结果将在“command”区域(matlab主界面的右侧)中显示,程序中的变量将在“workspace”区域(matlab主界面的左侧)中显示,点击各变量可观察其具体值,记录结果。

9 改变文本信息(english.txt),插入大写英文字母,及标点符 ,记录、分析运行结果。

10 认真阅读程序,对每条语句写出相应注释,并画出程序流程图。

11 在完全理解程序的基础上,对程序进行改进,使之可对大小写均存在的英文文本进行信息量的统计。

四 告要求

五 附英文文本信息量统计程序(只针对全部都是小写字母,且无标点符 的英文文章)

wenzhang=textread(‘english.txt’,’%c’); %读入的英文文章

len=size(wenzhang);

length=len(1,1); %文章的长度为length

N=zeros(1,26);

for i=1:length

if double(wenzhang(i,1))>96 || double(wenzhang(i,1))

N(1,double(wenzhang(i,1))-96)= N(1,double(wenzhang(i,1))-96)+1;

end

end

%统计各字母出现的个数,存入N数组中

p=zeros(1,26);

p=N/length; %计算各字母出现的概率

I=zeros(1,26);

I=log2(1./p); %计算各字母的信息量

for i=1:26

if p(1,i)==0

I(1,i)=0;

end

end %出现概率为0的字母的信息量赋值为0

sumI=sum(I.*N) %计算整篇文章的总的信息量

Ip=I.*p;

H=sum(Ip) %计算信源熵

信息论与编码实验一:英文文本信息量的统计

1

菜单栏

实验一:(题目)

一 实验目的要求

二 实验运行结果记录

三 给定程序的流程图,及每条语句的注释

四 自己编写的改进程序,及运行结果记录

五 实验小结

Matlab当前工作路径

Matlab“workspace”区域

Matlab“command”区域

Matlab主界面

Matlab的M文件编程环境

M文件程序录入区

相关资源:SRTApp:学生投票追踪器-其它代码类资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年2月21日
下一篇 2021年2月22日

相关推荐