实验的目的和要求
正确理解信息科学的基本概念——信源;基于给定材料,构建合理的信源数学模型,并用MATLAB完成建模过程。该部分实验涉及数据读入(文档读写、图像读写)、概率统计等等。
实验内容:
1、随机产生一个一行五列数组,使其恰好符合信源概率的要求;
2、基于给定英文材料,以26个英文字母为信源消息符号,构建该信源的数学模型。
1)统计26个英文字母出现的频数;
2)计算26个英文字母出现的频率,并以频率近似概率;
3)构建信源概率模型;
4)计算信源熵。
第1题:
clc
clear all
x=rand(1,5);%产生一个一行五列的数组
y=sum(x);%将数据元素求和
for i=1:5
x(i)=x(i)/y;%归一化
end
x
第2题:
clc
clear all
d=fopen('Types of Speech.txt','r'); %导入txt文件
string=fread(d,'*char');
string=lower(string);
num=string-'a';
b=zeros(1,26);
for j=1:26
b(j)=sum(num==j-1);
end
disp('26个字母出现的频数为');
disp(b)
s=0;
for i=1:26 %计算26个英文字母出现的频率
s=s+b(i);
end
c=b/s;
disp('26个字母出现的频率为');
disp(c)
w=0;
for i=1:25 %计算信源熵
if c(i)~=0;
w=w-c(i)*log2(c(i));
end
end
disp('此模型的信源熵为');
disp(w)