??? Error using ==> wthresh at 30 Invalid argument value. 请教一下,这个matlab程序的错误应该怎么改
这是个小波去噪的程序,程序如下
a=load('a5.txt');
la=length(a);
subplot(221);plot(a);
title('原始信号');grid;
[c,l]=wavedec(a,3,'db1');
ca3=appcoef(c,l,'db1',3);
cd3=detcoef(c,l,3);
cd2=detcoef(c,l,2);
cd1=detcoef(c,l,1);
[thr,sorh,keepapp]=ddencmp('den','wv',a);
a2=wdencmp('gbl',c,l,'db1',3,thr,sorh,keepapp);
subplot(223);plot(a2);
title('默认阈值消噪的信号');grid;
cd1soft=wthresh(cd1,'a',0.456);
cd2soft=wthresh(cd1,'a',0.556);
cd3soft=wthresh(cd1,'a',0.756);
a3=wavrec(c2,l,'db1');
subplot(224);plot(a3);
title('给定阈值消噪后的信号');grid;
答案:Syntax Y = wthresh(X,SORH,T);
SORH 可以为's'或者'h',分别表示软阈值或者硬阈值。
你的'a'是设置什么呢?
改成 s 或者 h 试试吧
上一个:如何用matlab绘制球面图形
下一个:matlab 整数规划求助