Generate list of frequencies evenly spaced in logarithmic plot

23 views (last 30 days)
For an experiment, I need to generate a list of frequencies (ranging from 0.2 rad/s to 628 rad/s). However, they need to be evenly spaced on a logarithmic scale. I have looked at logspace (https://www.mathworks.com/help/matlab/ref/logspace.html), but that does not quite seem to do what I need.
I struggle to understand how to approach the problem.
Thanks!

Accepted Answer

Stephen23
Stephen23 on 18 Mar 2024
X = logspace(log10(0.2),log10(628),8)
X = 1×8
0.2000 0.6318 1.9960 6.3054 19.9194 62.9270 198.7917 628.0000
Y = sqrt(X);
semilogx(X,Y,'-*')
  2 Comments
Stephen23
Stephen23 on 18 Mar 2024
Edited: Stephen23 on 18 Mar 2024
Another approach using LINSPACE (which is basically all that LOGSPACE does):
X = 10.^linspace(log10(0.2),log10(628),8)
X = 1×8
0.2000 0.6318 1.9960 6.3054 19.9194 62.9270 198.7917 628.0000

Sign in to comment.

More Answers (1)

VBBV
VBBV on 18 Mar 2024
F = linspace(0.2,628,100)
F = 1×100
0.2000 6.5414 12.8828 19.2242 25.5657 31.9071 38.2485 44.5899 50.9313 57.2727 63.6141 69.9556 76.2970 82.6384 88.9798 95.3212 101.6626 108.0040 114.3455 120.6869 127.0283 133.3697 139.7111 146.0525 152.3939 158.7354 165.0768 171.4182 177.7596 184.1010
semilogy(F)

Community Treasure Hunt

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

Start Hunting!