📄 aa3.m
字号:
clc;clear;
n=[0.20,0.19,0.18,0.17,0.15,0.10,0.01];
i=length(n);
%%%%%%%%排序
for k=1:i
for r=k+1:i
if ( n(k)<n(r) );
t=n(k);
n(k)=n(r);
n(r)=t;
end
end
end
disp('概率从大到小排序为:');
n
%%%%码长
for k=1:i
a(k)=-log2(n(k));
b(k)=ceil(a(k));
end
disp('码长分别为:');
b
%%%概率累加
for j=1:i-1
c(1)=0;
c(j+1)=n(j)+c(j);
end
disp('概率累加为:');
c
%%%%%%转为二进制码
for k=1:i
if (c(k)==0)
for r=1:b(k)
w(k,j)=0;
end
else
for j=1:b(k)
d(k)=c(k)*2;
if(d(k)>1);
w(k,j)=1;
c(k)=d(k)-1;
else
w(k,j)=0;
c(k)=d(k);
end
end
end
end
disp('二进制码分别:');
w
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -