logarithmically spaced vector in a certain range

126 Ansichten (letzte 30 Tage)
Nuchto
Nuchto am 3 Okt. 2014
Kommentiert: Johann Martinez am 15 Mär. 2021
How to create a logarithmically spaced vector say from values 3 to 10? Thank you!

Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 3 Okt. 2014
Bearbeitet: Azzi Abdelmalek am 3 Okt. 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 Kommentare
Azzi Abdelmalek
Azzi Abdelmalek am 3 Okt. 2014
n=10 % number of samples
out=log(linspace(exp(3),exp(10),n))
Nuchto
Nuchto am 3 Okt. 2014
Thank you!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Nathan Porter
Nathan Porter am 7 Apr. 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 Kommentar
Johann Martinez
Johann Martinez am 15 Mär. 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

Melden Sie sich an, um zu kommentieren.


Marco
Marco am 3 Okt. 2014
To my knwoledge you could just use the built-in command logspace.

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by