logarithmically spaced vector in a certain range

130 visualizaciones (últimos 30 días)
Nuchto
Nuchto el 3 de Oct. de 2014
Comentada: Johann Martinez el 15 de Mzo. de 2021
How to create a logarithmically spaced vector say from values 3 to 10? Thank you!

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 3 de Oct. de 2014
Editada: Azzi Abdelmalek el 3 de Oct. de 2014
pas=0.1
t=log(3):pas:log(10)
out=exp(t)
%or
n=10 % number of samples
out=exp(linspace(log(3),log(10),n))
  5 comentarios
Azzi Abdelmalek
Azzi Abdelmalek el 3 de Oct. de 2014
n=10 % number of samples
out=log(linspace(exp(3),exp(10),n))
Nuchto
Nuchto el 3 de Oct. de 2014
Thank you!

Iniciar sesión para comentar.

Más respuestas (2)

Nathan Porter
Nathan Porter el 7 de Abr. de 2017
Like Marco, I would suggest using logspace. For example,
logspace(1,3,10)
creates a vector of 10 logarithmically spaced values between 10^1 and 10^3. If you instead want the bounds to be determined by a value and not the exponent, I generally use the following:
logspace(log10(3),log10(10),10)
This will create a vector of 10 logarithmically spaced values between 3 and 10.
  1 comentario
Johann Martinez
Johann Martinez el 15 de Mzo. de 2021
Thank Nathan, but what if I have a, b values equals to 0, 0.97, for example?
I mean, the logspaced vector is full of NaN, because of the negative logarithm...
thanks in advance

Iniciar sesión para comentar.


Marco
Marco el 3 de Oct. de 2014
To my knwoledge you could just use the built-in command logspace.

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by