资源简介
huffman_normal.m
代码片段和文件信息
clear
clc
N=255;
n=1920;
m=1080;
% N=10;%小数据量测试用
% n=4;%小数据量测试用
% m=5;%小数据量测试用
%产生正态分布随机数
E1=randn(nm);
E2= mapminmax(E101);%将数据归一化0-1之间
E3=round(0+N.*E2);
data=E3;
histogram(data)%绘制数据图像
title(‘正态分布‘)
Num=2*(N+1)-1;%总节点数
P=zeros(1N+1);
for i=0:N%计算每个随机数的概率
P(i+1)=length(find(data==i))/(n*m);
end
K=0:N;
%判断概率的合理性
if length(find(P<0))~=0
errordlg(‘出现小于0的概率!‘)
end
if abs(sum(P)-1)>10e-10
errordlg(‘概率不具备完备性!‘)
end
[P1index]=sort(P‘descend‘);%对概率进行降序排列
K1=K(index);%将数据按照概率的降序进行排列
%完成对所有节点的初始化
for i=1:Num
nodes(i).parent=0;
nodes(i).lchild=-1;
nodes(i).rchild=-1;
if i<=N+1
nodes(i).weight=P1(i);
nodes(i).data=K1(i);
else
nodes(i).weight=-1;
nodes(i).data=-2;
end
end
index1=[00];
Min=[00];
q=0;
%构造哈夫曼树
for i=1:N
for k=1:2
M=10;
for j=1:N+1+(i-1)
if(M>nodes(j).weight || nodes(j).weight==M)
M=nodes(j).weight;
index1(k)=j;
else
M=M;
end
end
Min(k)=M;
nodes(index1(k)).weight=10;
end
if(index1(1) q=q+1;
else
temp=index1(1);
index1(1)=index1(2);
index1(2)=temp;
end
nodes(N+1+i).weight=Min(1)+Min(2);
nodes(N+1+i).lchild=index1(1);
nodes(N+1+i).rchild=index1(2);
nodes(index1(1)).parent=N+1+i;
nodes(index1(2)).parent=N+1+i;
end
for i=1:N+1
code(i).data=0;
code(i).Code=[];
end
%用来存放每个节点的编码和原始数据
for i=1:N+1
code1(i).data=0;
code1(i).Code=[];
code1(i).P=[];
end
%获取每个数据的编码
for i=1:N+1
code(i).data=nodes(i).data;
code1(i).P=P1(i);
j=i;
now=N+1;
while(nodes(j).parent~=0)
k=nodes(j).parent;
if(nodes(k).lchild==j)
code(i).Code(now)=0;
else
code(i).Code(now)=1;
end
j=nodes(j).parent;
now=now-1;
end
for l=now:N
code1(i).Code(l-(now-1))=code( - 上一篇:基于matlab的风功率预测模型及程序.rar
- 下一篇:最速下降法matlab
相关资源
- 《MATLAB仿真在现代通信中的应用》徐
- KECA1.m
- zw_支持向量机与朴素贝叶斯算法matl
- test1_mat.m
- Finnal6.m
- odefun1.m
-
飞控simuli
nk仿真.zip -
光伏发电最大功率点跟踪simuli
nk仿真 - MATLAB全球磁场绘图程序.zip
- MATLAB人脸识别考勤系统摄像头,记录
- MATLAB多方法车牌识别系统bp+模板+GUI
- 四旋翼MATLAB仿真文件实验报告.zip
-
4.1基于Simuli
nk的图像、视频处理.z -
Simuli
nk的低通数字滤波器的仿真分析 - matlabR2017b迅雷种子文件及安装教程.
- 最优化方法及其matlab程序实现.zip
- 5d5680a96365f0e9a0c7114890f97460.mobi
- 《全面详解LTE:MATLAB建模、仿真与实
- XXXXXXRobustControlDesignwithMATLAB.pdf
- matlab图像处理包括数据反演以及其他
- Matlab常用32种算法.zip
- 传感器网络节点定位算法matlab代码.
- 基于DCT变换和DFT变换的数字图像压缩
- 10900257雷达系统设计MATLAB仿真.pdf
- 神经网络、遗传算法、支持向量机、
- 《先进PID控制MATLAB仿真第3版》仿真程
- 雷达系统设计MATLAB仿真.pdf196612
- 滑模变结构控制MATLAB仿真(第1版)(
- [Matlab作品]matlab实现视频中动态目标跟
- zw_qq_15023225-7501331-S函数的BP神经网络
川公网安备 51152502000135号
评论
共有 条评论