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 = ...?

 Risposta accettata

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 Commenti

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

Accedi per commentare.

Più risposte (0)

Categorie

Richiesto:

Sim
il 20 Giu 2024

Modificato:

Sim
il 21 Giu 2024

Community Treasure Hunt

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

Start Hunting!

Translated by