how do a plot3 of a wavelet tranform showing time, scale and wavelet coefficients

 채택된 답변

Wayne King
Wayne King 2011년 12월 14일

0 개 추천

Hi Lisa, To use plot3, you must have your time (position) and scale vectors as matrices because the CWT coefficients are in a matrix.
You can use meshgrid() to transform your time and scale vectors into matrices suitable for plot3()
t = 1:1024;
a = 1:30;
Wt = abs(randn(30,1024));
[T,A] = meshgrid(t,a);
plot3(T,A,Wt); xlabel('time');
ylabel('Scale'); zlabel('CWT magnitude');
However, I think you may find surf() better here
surf(t,a,Wt); shading interp;
xlabel('time'); ylabel('scale'); zlabel('CWT magnitude');

댓글 수: 1

Lisa Justin
Lisa Justin 2011년 12월 14일
thanks! i will try it now

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Honglei Chen
Honglei Chen 2011년 12월 13일

0 개 추천

Hi Lisa,
I don't think plot3 is appropriate for your purpose. I think you probably better off using image or imagesc.
HTH
Wayne King
Wayne King 2011년 12월 13일

0 개 추천

Hi Lisa, If I remember correctly you are using your own CWT algorithm, not MATLAB's cwt() or cwtft(). Is that correct? Are you coefficients in a matrix scale-position? I think you want surf
load vonkoch
vonkoch=vonkoch(1:510);
len = length(vonkoch);
cw1 = cwt(vonkoch,1:32,'sym2','plot');
% cw1 is 32x510
surf(1:510,1:32,cw1); shading interp;
xlabel('Position'); ylabel('Scale'); zlabel('CWT Coefficients');
colormap jet;
view([-27 42]);
Keep in mind that if you are using a complex-valued analyzing wavelet, you will have to input the moduli (abs()), or the real or imaginary parts.

카테고리

도움말 센터 및 File Exchange에서 Continuous Wavelet Transforms에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by