请帮忙看一下小波消噪程序哪出错了?谢谢!
s=load('l1.txt');subplot(221); plot(s);grid;
title('泄露信号');
=wavedec(s,3,'db1');
ca3=appcoef(c,l,'db1',3);
cd3=detcoef(c,l,3);
cd2=detcoef(c,l,2);
cd1=detcoef(c,l,1);
cdd3=zeros(1,length(cd3));
cdd2=zeros(1,length(cd2));
cdd1=zeros(1,length(cd1));
c1=;% ca3'表示ca3的转置,这条语句表示把四个一维数组连接起来
%因此行数必须一致
s1=waverec(c1,l,'db1');
subplot(222); plot(s1);grid;
title('强制消噪波形');
=ddencmp('den','wv',s);%用ddencmp函数获得信号的默认阈值
thr=thr+7000;
s2=wdencmp('gbl',c,l,'db1',3,thr,sorh,keepapp);%用默认阈值对信号进行消噪处理
subplot(223); plot(s2);
title('默认阀值消噪波形');grid;
cd1soft=wthresh(cd1,'s',1000);%进行软阈值处理
cd2soft=wthresh(cd2,'s',2000);%进行软阈值处理
cd3soft=wthresh(cd3,'s',3000);%进行软阈值处理
c2=;
s3=waverec(c2,l,'db1');%一维多尺度小波重构,返回原信号
subplot(224); plot(s3); grid;
title('给定软阈值消噪后的信号');
运行后显示??? Error using ==> horzcat
All matrices on a row in the bracketed expression must have the
same number of rows.
Error in ==> xiaozao1 at 26
c2=; c2=;
matlab已经给你提示了,就是上面的语句出错,你自己设置断点调试一下吧 c1=;% ca3'表示ca3的转置,这条语句表示把四个一维数组连接起来
%因此行数必须一致
c2=;
为什么前面一句是对的,后面不行呢? cd3soft,cd2soft,cd1soft
请仔细检查以上三个变量的矩阵大小 能把你的泄漏和正常的数据给我发一个么,:@D
页:
[1]