I want to compute cwt at scale 5 to detect local maxima at this scale so I did this : cfs = cwt(x,5,'haar'); plot(cfs); Is my program correct or I need to use all scales from 1 to 5?

 Réponse acceptée

Wayne King
Wayne King le 7 Nov 2011

1 vote

Hi Claire, yes, your code is correct, but are you sure you don't want to include at least a few more scales?
That can help in identifying local maxima lines:
load cuspamax;
x = 1:length(cuspamax);
scales = 1:32;
cfs = cwt(cuspamax,scales,'haar');
[lmaxima,indices] = localmax(cfs,[],false);
[iRow,iCol] = find(lmaxima);
subplot(211);
imagesc(abs(cfs)); axis xy;
axis([1 1024 1 32]);
ylabel('Scale'); title('CWT Coefficients (Moduli)');
subplot(212);
plot(x(iCol),scales(iRow),'marker','o','markerfacecolor',[0 0 1],...
'linestyle','none');
xlabel('Position'); ylabel('Scale'); title('Maxima Lines');
axis([1 1024 1 32]);

3 commentaires

claire
claire le 8 Nov 2011
Thanks for answering me, did you choose scale 32 for a particular reason?
Wayne King
Wayne King le 8 Nov 2011
No, Claire just as an example.
Jean-Luc Bruyelle
Jean-Luc Bruyelle le 9 Juil 2015
How do we choose the appropriate scales using the same function ?

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Wavelet Toolbox dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by