Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2008-03-10
年龄: 39
帖子: 1
声望力: 0 ![]() |
![]()
【求助】算术编码的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 |
![]() |
![]() |
![]() |
主题工具 | |
显示模式 | |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
遗传算法的编写(毕业设计,很急。) | 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 |