Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
 
 
主题工具 显示模式
旧 2008-03-28, 14:16   #1
yinxuewang
初级会员
 
注册日期: 2008-03-10
年龄: 39
帖子: 1
声望力: 0
yinxuewang 正向着好的方向发展
默认 【求助】算术编码的matlab实现

【求助】算术编码的matlab实现
我现在已经找到一个简单的程序
但还满足不了要求
希望大侠赐教
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 算术编码过程实例ssbm.m
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
about={...
'本实例说明:'
'字符串不能太长,程序不加判断,请注意溢出;'
'本实例只限定少数字符串 a b c d e;'
'实例只是说明一下算术编码过程。'};
disp(about);
str=input('请输入编码的字符串(本程序仅仅是一个实例,请仅输入a b c d e):');
l=0;r=1;d=1;
%初始间隔
%程序限定字符为:a、b、c、d、e
p=[0.2 0.3 0.1 0.15 0.25];
%字符的概率分布,sum(p)=1
n=length(str);
disp('a b c d e')
disp(num2str(p))
for i=1:n
switch str(i)
case 'a'
m=1;
case 'b'
m=2;
case 'c'
m=3;
case 'd'
m=4;
case 'e'
m=5;
otherwise
error('请不要输入其它字符!');
end
%判断字符
pl=0;pr=0;
for j=1:m-1
pl=pl+p(j);
end
for j=1:m
pr=pr+p(j);
end
%概率统计
l=l+d*pl;
r=l+d*(pr-pl);
strl=strcat('输入第',int2str(i),'符号的间隔左右边界:');
disp(strl);
format long
disp(l);disp(r);
d=r-l;
end
yinxuewang 当前离线   回复时引用此帖
 

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
遗传算法的编写(毕业设计,很急。) matlab毕业 MATLAB论坛 2 2008-09-08 09:20
[求助]求qpsk调制信号的功率谱的程序源代码 fly860612 MATLAB论坛 0 2008-04-30 00:40
【求助】离散信号的频谱转换 huwj10 MATLAB论坛 1 2007-07-19 17:42
【求助】给定以下条件,设计一巴特沃兹滤波器 jackie0504 MATLAB论坛 0 2007-07-15 22:57
求救matalab"最大可察覺失真度" chen1929 MATLAB论坛 0 2007-06-07 14:26


所有时间均为北京时间。现在的时间是 11:18


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.