logspace with a different base

As far as I understood y = logspace(a,b,n) works for logarithms of base 10. For example we can have:
format longG
y = logspace(-2,3,6)
y = 1x6
1.0e+00 * 0.01 0.1 1 10 100 1000
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
Is there a similar function or a simple way to perform the same calculation, but with a custom base B (for example a base B=3.5)?
I mean something like this:
a = -2;
b = 3;
n = 6;
B = 3.5;
y = ...?

 Accepted Answer

maybe I found it, but I am not sure:
a = -2;
b = 3;
n = 6;
B = 3.5;
y = B .^ linspace(a, b, n)
y = 1x6
0.0816 0.2857 1.0000 3.5000 12.2500 42.8750
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>

6 Comments

Looks good to me.
Thanks a lot! This is reassuring :-)
John D'Errico
John D'Errico on 20 Jun 2024
Edited: John D'Errico on 20 Jun 2024
Yes. That will generate the desired spacing, for your chosen base.
Many thanks!! Great! :-)
As an aside, LOGSPACE does exactly that inside, just with B=10.
Sim
Sim on 20 Jun 2024
Edited: Sim on 21 Jun 2024
Ah, good to know! Thanks a lot @Stephen23 :-)

Sign in to comment.

More Answers (0)

Categories

Asked:

Sim
on 20 Jun 2024

Edited:

Sim
on 21 Jun 2024

Community Treasure Hunt

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

Start Hunting!