📄 main.m
字号:
function f = main(filename)
% save initial_data f;
% load initial_data;
% time1=fix(clock);
fid = fopen(filename,'r');%读文件
s = fread(fid,inf,'uchar=>uchar');%把文件中的字符按字节顺序存储在字符串列向量s中
f = s(1:100)';%把s置换得到f
% time2=fix(clock);
% time=time2-time1;
% h1=find(double(f)-double(result)>0);
% h2=find(double(f)-double(result)<0);
% l=length(h1)+length(h2);
time1 = fix(clock);%记下此时的时间time1
[nf,gai]=gailv(f);
%调用函数gailv是计算数组f中每个字符的概率gai和频率pin
[mode,low,high] = area(nf,gai);
%调用函数area是计算数组f中每个字符的子区间[low,high]
[final,mn] = encode(f,nf,low,high);
%调用函数code对原文件进行压缩,输出压缩流final,final是个小数数组
result = decode(final,nf,low,high,mn);
%调用函数decode对压缩流final实行解压缩得到result
time2 = fix(clock);%记下此时的时间time2
time = time2-time1;%一共所用的时间time
h1 = find(double(f)-double(result)>0);%查找出错的字符个数
h2 = find(double(f)-double(result)<0);%查找出错的字符个数
error_sum = length(h1)+length(h2);%计算总共出错的字符个数error_sum time1 = fix(clock);%记下此时的时间time1
[nf,gai]=gailv(f);
%调用函数gailv是计算数组f中每个字符的概率gai和频率pin
[mode,low,high] = area(nf,gai);
%调用函数area是计算数组f中每个字符的子区间[low,high]
[final,mn] = encode(f,nf,low,high);
%调用函数code对原文件进行压缩,输出压缩流final,final是个小数数组
result = decode(final,nf,low,high,mn);
%调用函数decode对压缩流final实行解压缩得到result
time2 = fix(clock);%记下此时的时间time2
time = time2-time1;%一共所用的时间time
h1 = find(double(f)-double(result)>0);%查找出错的字符个数
h2 = find(double(f)-double(result)<0);%查找出错的字符个数
error_sum = length(h1)+length(h2);%计算总共出错的字符个数error_sum
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -