Logarithmic scale using PSD function
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have a problem using the PSD function - basically the output of my code gives the frequency in a linear scale, when i need it in a logarithmic scale. Does anyone know how to alter the PSD/output to give the resulting plot in a logarithmic scale? cl is an array of values. I assume it is something very basic i need to change.
My code is as follows:
Fs = 1/0.005;
h = spectrum.welch;
Hpsd = psd(h,cl,'Fs',Fs);
plot(Hpsd)
0 Kommentare
Akzeptierte Antwort
Patrick Kalita
am 3 Mär. 2011
After creating the plot, set the axes XScale (if you want to replicate a semilogx plot) property to 'log'. For example:
Fs = 1000; t = 0:1/Fs:.296;
x = cos(2*pi*t*200)+randn(size(t));
h = spectrum.welch; % Create a Welch spectral estimator.
Hpsd = psd(h,x,'Fs',Fs); % Calculate the PSD
plot(Hpsd)
set(gca, 'XScale', 'log')
Weitere Antworten (2)
the cyclist
am 3 Mär. 2011
Guessing you need the semilogx, semilogy, or loglog command.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Spectral Estimation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!