Filter löschen
Filter löschen

How to make the x-axis on a logarithmic scale while keeping the y-axis in dB?

125 Ansichten (letzte 30 Tage)
Hello,
I have calculated the PSD of my signal in dB.
lets say,
f=frequency
Nc= (PSD)Power spectral density in dB
plot(f,Nc);
Now, I would like to change the x-axis to logarithmic scale while keeping the y-axis in dB and plot it. Could you please tell me how to do that?
Thanks
Gaurav

Akzeptierte Antwort

Wayne King
Wayne King am 25 Apr. 2012
semilogx(f,10*log10(Nc))

Weitere Antworten (2)

Sean de Wolski
Sean de Wolski am 25 Apr. 2012
Wayne's method is probably best. However, if you need finer control you can set the axes' xscale property to log.
h = axes;
set(h,'xscale','log')

gaurav Nanda
gaurav Nanda am 25 Apr. 2012
Thanks for the help.
I also need to perform curve fitting and to find the value of (C)
This is how I am doing it
g = fittype('a+b./(f.^c)',... 'independent', 'f',... 'coefficients', {'a','b','c'});
f1 = fit(f, Nc, g)
where a= thermal noise
b/f^c is pink noise
I have defined the fittype but I am not able to find the value of c.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by