Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2010-06-02
帖子: 1
声望力: 0 ![]() |
![]()
这俩个都是书上的例子,为什么运行不出来
例1:clear; fid=fopen('normalecg.txt','r'); x=fscanf(fid,'%f %f %f',[600 3]); fclose=(fid); N=length(x); for i=0:N/3-1 t(i+1)=x(3*i+1); sig1(i+1)=x(3*i+2); sig2(i+1)=x(3*i+3); end s=sig1+0.5*randn(1,length(sig1)); figure(1); subplot(2,1,1);plot(t,s,'LineWidth',2); ylabel('电压 V/mV'); title('含噪的ECG信号'); wavelet='db5'; level=4; alpha=1.5; sorh='h'; [c,l]=wavedec(s,level,wavelet); [thr,nkeep]=wdcbm(c,l,alpha); [xc,cxc,lxc,perf0,perfl2]=wdencmp('lvd',c,l,wavelet,level,thr,sorh); subplot(2,1,2);plot(t,s,'LineWidth',2); xlabel('时间 t/s'); ylabel('电压 V/mV'); title('重构的ECG信号'); cC=encode(cxc); tC=cC; tL=length(tC); pzeros=perf0 pnormen=perfl2 compratio=length(s)/length(tC) 例2:idwt函数 randn('seed',531316785) s=2+kron(ones(1,8),[1 -1])...+((1:16).^2)/32+0.2*randn(1,16); [ca1,cd1]=dwt(s,'db2'); subplot(3,1,1);plot(ca1); title('db2 低频系数'); subplot(3,1,2);plot(cd1); title('db2 高频系数'); ss = idwt(ca1,cd1,'db2'); err = norm(s-ss); subplot(3,1,3);plot([s;ss]); title('原始信号和重构信号'); xlabel(['误差的2范数为=',num2str(err)]) [Lo_R,Hi_R] = wfilters('db2','r'); ss = idwt(ca1,cd1,Lo_R,Hi_R); 应该是省略号那里有问题,不知道该怎么弄。 求高手解答 |
![]() |
![]() |