MATLAB: How to set yaxis equal to each other in a subplot of two scalograms made from two different Motherwavelet

axesscalogramwavelet

Hi I am trying to subplot two scalograms made from two different mother wavelets (and therefore with two different center frequencies and scales-to-frequency ratios). I have converted the y axis to pseudo-frequencies and am now trying to set the y limits for each plot to have the same span. How do I manipulate the y axis so that the ymin and ymax are the same for both plots but the images (the scalograms) must correspond to the values of the pseudo-frequencies?
Any help is greatly appreciated Thank you – Katrine

Best Answer

OK, so explain to me what is wrong with this. Yes, of course you will have to use different scale vectors for different mother wavelets if you really want to line the pseudo-frequencies up as much as possible. Also you may only care about them having the same range over a part of your frequency interval.
t = linspace(0,5,5e3);
x = cos(2*pi*100*t).*(t<1)+cos(2*pi*50*t).*(3<t)+0.3*randn(size(t));
COEFS1 = cwt(x,1:32,'cgau4');
F1 = scal2frq(1:32,'cgau4',0.001);
scgaus = wscalogram('[]',COEFS1,'scales',1:32, 'ydata', x);
COEFS2 = cwt(x,1.6:55,'morl');
F2=scal2frq(1.6:55,'morl',0.001);
scmorl=wscalogram('[]',COEFS2,'scales',1.6:55, 'ydata', x);
subplot(211)
mesh(t,F1,scgaus);
view(0,90)
set(gca,'ylim',[15 200])
title('Complex Gaussian Wavelet');
subplot(212)
mesh(t,F2,scmorl);
view(0,90)
set(gca,'ylim',[15 200])
title('Morlet Wavelet');
Related Question