|
楼主 |
发表于 2010-8-1 19:42
|
显示全部楼层
回复 5楼 ChaChing 的帖子
好的,我把代码贴出来,
正确的代码是:
%构造一个信号
t1=1:500; t2=501:1000; t3=1001:1504;
s1=sin(0.02*t1); s2=sin(0.2*t2); s3=sin(0.02*t3);
t=[t1,t2,t3]; x=[s1,s2,s3];
%作出这个信号图像
figure; subplot(221); plot(x); axis tight;%坐标范围设为数据上下限
title('original signal')
%用bior3.9小波对信号进行连续小波变换,尺度为2
s=2:2:10; c = cwt(x,s ,'bior3.9');
subplot(223); surf(t,s,c); axis tight;%坐标范围设为数据上下限
title('Three-dimensional plot of the wavelet transform of the displacement data');
xlabel('length','fontsize',10,'rotation',15);
ylabel('scale','fontsize',10,'rotation',-28);
zlabel('wavelet coefficients','fontsize',10);
运行这段代码就可以画出x轴为length,y轴为scale的图。
把surf的参数t 和s对调则出现下面的错误:
??? Error using ==> surf at 78
Data dimensions must agree.
Error in ==> test at 21
surf(s,t,c);
bior3.9小波的尺度为2-10
[ 本帖最后由 ChaChing 于 2010-8-2 00:06 编辑 ] |
|