Invalid wavelet name for continous wavelet transform

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?

Answers (1)

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 Comments

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.
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.

Sign in to comment.

Asked:

on 5 Jul 2017

Commented:

on 5 Jul 2017

Community Treasure Hunt

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

Start Hunting!