|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
请高手帮帮看一下这个用提升小波消噪的程序,我编写好后试了一下,能运行出来图像,也没有报错,可是再次运行的时候,一点改动也没有,就报错了:
??? Index exceeds matrix dimensions.
Error in ==> detcoef at 59
tmp{j} = coefs(first(k):last(k));
Error in ==> wnoisest at 50
c = detcoef(c,varargin{:},'cells');
Error in ==> g1xiaozao at 23
sigma = wnoisest(c,l,1);
我又试了好几次,把matlab打开再试,关机重启等等,有的时候能运行,有的时候报错,不知道是怎么回事,这个错误我查了查,也没找出来,没办法啦,请高手指点啊
下面是我的源程序:
lev=5;
xd1=wden(g1(1:1000),'minimaxi','s','mln',lev,'sym5');//g1是txt格式导入的数据
Ishaar=liftwave('haar');
els={'p',[-0.125,0.125],0};
Isnew=addlift(Ishaar,els);
[cA1,cD1]=lwt(g1(1:1000),Isnew);
[cA2,cD2]=lwt(cA1,Isnew);
length=size(cA2,2);
c=zeros(1,length*4);
for i=1:length;
c(i)=cA2(i);
end;
for i=length+1:2*length;
c(i)=cD2(i-length);
end;
for i=length*2+1:4*length;
c(i)=cD1(i-2*length);
end;
l(1)=length;
l(2)=length;
l(3)=length*2;
l(4)=length*4;
sigma = wnoisest(c,l,1);
alpha = 2;
thr=wbmpen(c,l,sigma,alpha);
keepapp=1;
xd2=wdencmp('gbl',c,l,'db6',1,thr,'s',keepapp);
subplot(3,1,1);
plot(g1(1:1000));
title('原始信号');
subplot(3,1,2);
plot(xd1(1:1000));
title('离散小波消噪后的信号')
subplot(3,1,3);
plot(xd2);
title('提升小波消噪后的信号');
谢谢大家!:@)
[ 本帖最后由 eight 于 2008-4-21 20:59 编辑 ] |
|