当前位置:编程学习 > Matlab >>

??? 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 整数规划求助

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,