plot3

30 ビュー (過去 30 日間)
Lisa Justin
Lisa Justin 2011 年 12 月 13 日
how do a plot3 of a wavelet tranform showing time, scale and wavelet coefficients

採用された回答

Wayne King
Wayne King 2011 年 12 月 14 日
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 日
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 日
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.

カテゴリ

Help Center および File ExchangeContinuous Wavelet Transforms についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by