⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aa3.m

📁 香农编码,为已知的序列概率,用香农编码进行编码.
💻 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 + -