Invalid wavelet name for continous wavelet transform

10 visualizzazioni (ultimi 30 giorni)
I try to 3D plot some CWT I have computed. According to MATLAB, valid wnames are amor, morse and bump. However, when I use amor in this script I found:
t = linspace(-1,1,512);
s = 1-abs(t);
c = cwt(s,Out.Ext{1}(:,8),'amor');
F = scal2frq(Out.Ext{1}(:,8),'amor');
surf(t,F,abs(c)); shading('interp');
xlabel('Time'); ylabel('Frequency');
I get the following error: Invalid wavelet name: amor.
Also, when I put as wname = sym4 or haar or anything that is not valid name for CWT I get a 3D plot. Why does this happen?

Risposte (1)

Star Strider
Star Strider il 5 Lug 2017
There are now two versions of cwt, an old version and this version of cwt (link) that was introduced in R2016b. I have not worked with wavelets recently, so check to see the version you have. The command syntax appears to be different.
  2 Commenti
Ioannis Agalliadis
Ioannis Agalliadis il 5 Lug 2017
I used the newer version. If you read in the second description of the parameters from the documentation it states this :
wt = cwt(x,wname) uses the analytic wavelet specified by wname to compute the CWT. Valid options for wname are 'morse', 'amor', and 'bump', which specify the Morse, Morlet, and bump wavelet, respectively.
Star Strider
Star Strider il 5 Lug 2017
I read it. You seem to be using the calling syntax of the older version:
c = cwt(s,Out.Ext{1}(:,8),'amor');
in which you have to use the wavelets in wavemngr. The Morlet wavelet in that conttext is 'morl', not 'amor'.
That could be the problem.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by