En este artículo, crearemos una lista de números espaciados uniformemente utilizando una escala logarítmica. Significa que, en una escala logarítmica, la diferencia entre dos muestras adyacentes es la misma. El objetivo se puede lograr utilizando dos funciones diferentes de la biblioteca Python Numpy.
Funciones utilizadas:
- numpy.logspace: esta función devuelve un número escalado uniformemente en escala logarítmica.
Parámetros:
- start: el valor inicial de la secuencia es base**start
- detener: si el punto final es verdadero, entonces el valor final de la secuencia es base ** parada
- num (Opcional): Especifica el número de muestras para generar
- punto final (opcional): puede ser verdadero o falso con el valor predeterminado verdadero
- base (opcional): especifica la base de la secuencia de registro. El valor predeterminado es 10.
- dtype (opcional): especifica el tipo de array de salida
- eje (Opcional): El eje en el resultado para almacenar las muestras.
Retorno: Devuelve una array de muestras igualmente espaciadas en escala logarítmica.
- numpy.geomspace: esta función es similar a la función logspace, solo que la diferencia es que los puntos finales se especifican directamente. En la muestra de salida, cada salida se obtiene multiplicando la salida anterior por la misma constante.
Parámetros:
inicio: Es el valor inicial de la secuencia
detener: si el punto final es verdadero, entonces es el valor final de la secuencia
num (Opcional): Especifica el número de muestras para generar
punto final (opcional): puede ser verdadero o falso con el valor predeterminado verdadero
dtype (opcional): especifica el tipo de array de salida
eje (Opcional): El eje en el resultado para almacenar las muestras.
Retorno: Devuelve una array de muestras igualmente espaciadas en escala logarítmica.
Ejemplo 1: este ejemplo utiliza la función de espacio de registro. En este ejemplo, el inicio se pasa como 1 y la parada se pasa como 3 con la base 10. Entonces, el punto de inicio de la secuencia será 10**1 = 10 y el punto final de la secuencia será 10**3 = 1000.
Python3
# importing the library import numpy as np import matplotlib.pyplot as plt # Initializing variable y = np.ones(10) # Calculating result res = np.logspace(1, 3, 10, endpoint = True) # Printing the result print(res) # Plotting the graph plt.scatter(res, y, color = 'green') plt.title('logarithmically spaced numbers') plt.show()
Producción:
Ejemplo 2: Este ejemplo genera la misma lista que el ejemplo anterior usando la función geomspace. Aquí pasamos directamente 10 y 1000 como puntos de inicio y finalización
Python3
# importing the library import numpy as np import matplotlib.pyplot as plt # Initializing variable y = np.ones(10) # Calculating result res = np.geomspace(10, 1000, 10, endpoint = True) # Printing the result print(res) # Plotting the graph plt.scatter(res, y, color = 'green') plt.title('logarithmically spaced numbers') plt.show()
Producción:
Ejemplo 3: En este ejemplo, el punto final se establece en falso, por lo que generará n+1 muestras y devolverá solo las primeras n muestras, es decir, la parada no se incluirá en la secuencia.
Python3
# importing the library import numpy as np import matplotlib.pyplot as plt # Initializing variable y = np.ones(10) # Calculating result res = np.logspace(1, 3, 10, endpoint = False) # Printing the result print(res)
Producción:
[ 10. 15.84893192 25.11886432 39.81071706 63.09573445 100. 158.48931925 251.18864315 398.10717055 630.95734448]
Publicación traducida automáticamente
Artículo escrito por aman neekhara y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA