资源简介
只统计英文文本的26个字母(不分大小写)出现概率,并对这26个字母进行哈夫曼编码,香农编码,主程序在CalculateLetters_Number.m中。

代码片段和文件信息
clc
clear
%导入pages.txt文件,获取文章中的字符串
fid = fopen(‘a.txt‘);
tline = fgetl(fid);
%变量初始化
i = 1;
test = [];
j = 1;
str1 = ‘‘;
while ischar(tline)
disp(tline); %显示每一行
pages{i} = tline; %将文章中的每一行的字符串存在数据类型为元包(cell)变量中
tline = fgetl(fid);
i=i+1;
end
fclose(fid);
%for循环?实现pages中的所有行字符串存储在同一个名为:str的字符串变量中
for i=1:length(pages)
str = strcat(str1pages{i});
str1 = str;
end
str; %拿str字符串,自行与文章全文进行校对
a = lower(str); %大写字母转小写
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%滤除其他字符,只计算英文字符
for i=1:length(a)
if(a(i)>=‘a‘)
if(a(i)<=‘z‘)
test(j) = a(i);
j = j + 1;
end
end
end
st=sprintf(‘%c‘test) %显示最终要统计的英文字符
%%
char = unique(st); %计算有多少个不重复的字符串
for i = 1:length(char)
char(i);
number(i) = length(strfind(stchar(i))); %统计字符的数目
end
char %显示字符
number %显示个数
%计算频率frequency
frequency = number/sum(number) %这里进行一个计算只为了与上面的number现实的个数相对应(这个frequency与下面那个frequency只是顺序不同)
%分别将所有出现过的字符:char每个char出现的次数:number每个char出现的频率:frequency
number = sort(number2‘descend‘) ; %做一个降序,方便下面进行编码
frequency = number/sum(number); %再次计算频率
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%哈夫曼编码%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%哈夫曼编码主程序
disp(‘%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%哈夫曼编码%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%‘)
r=2; %r代表r元码
Huffman_CLQ(frequencyr)
disp(‘%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%香农编码%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%‘)
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%香农编码%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
shannon_result = shannon(frequency)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 145 2018-01-11 14:55 上传文件\a.txt
文件 2265 2018-01-12 01:15 上传文件\CalculateLetters_Number.m
文件 276 2018-01-11 15:25 上传文件\check.m
文件 253 2018-01-11 15:27 上传文件\first_S.m
文件 2407 2018-01-11 15:58 上传文件\Huffman_CLQ.m
文件 1661 2018-01-12 01:16 上传文件\shannon.m
文件 919 2018-01-11 15:46 上传文件\yasuo_pp.m
目录 0 2018-01-11 15:58 上传文件
----------- --------- ---------- ----- ----
7926 8
- 上一篇:水杉导出pmx插件 ExportPMX
- 下一篇:ReimageRepair
相关资源
- 贪心算法-哈夫曼编码
- BMP图像的哈夫曼编码和费诺编码实现
- 哈夫曼树与哈夫曼编码
- 数据结构哈夫曼编码实验报告
- 用哈夫曼编码统计一段英文中字母的
- 对字符串进行哈夫曼编码和解码
- 哈夫曼编码实现图像压缩
- fibonacci数列的哈夫曼树和哈夫曼编码
- 哈夫曼编码译码实验报告
- 哈夫曼编码和分形编码图像压缩技术
- 利用哈夫曼编码进行通信可以大大提
- 数据结构哈夫曼编码报告
- FPGA作业题verilog源文件 哈夫曼编码
- 哈夫曼编码.zip
- 哈夫曼编/译码系统的简单设计与实现
- 哈工程本科算法实验-哈夫曼编码
- 哈夫曼编码算法实现
- 哈夫曼编码与唯一可译码
- 游程编码、算术编码、哈夫曼编码、
- 数据结构课程设计 哈夫曼编码的数据
- 哈夫曼编码译码器源代码和报告
- 哈夫曼编码/译码器数据结构课程设计
- 哈夫曼编码译码器 数据结构与算法
- 哈夫曼编码压缩文本从一个文本文件
- 数据结构课程设计-哈夫曼编码器
- 通信原理实验,模拟信号调制实验,
- 哈夫曼编码-译码器课程设计报告.do
- 哈夫曼编码实验报告
- 哈夫曼树及哈夫曼编码数据结构实验
- 数据结构实验二哈夫曼树及哈夫曼编
评论
共有 条评论