numpy.logspace()

Функция numpy.logspace() создаёт массив чисел, равномерно распределённых в логарифмическом масштабе между двумя степенями основания. Удобно для построения частотных характеристик, шкал ЧАХ фильтров и графиков с логарифмической осью.

Сигнатура

numpy.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None, axis=0)

Параметры

  • start — показатель степени начала диапазона (base ** start).

  • stop — показатель степени конца диапазона (base ** stop).

  • num — количество точек (по умолчанию 50).

  • endpoint — если True, включает конечную точку.

  • base — основание логарифма (по умолчанию 10).

  • dtype — тип данных результата.

Возвращает

ndarray — массив из num элементов, расположенных логарифмически.

Пример 1. Базовая последовательность

import numpy as np

x = np.logspace(0, 3, num=4)
print(x)
[   1.   10.  100. 1000.]

Получили четыре числа: 10**0, 10**1, 10**2, 10**3.

Пример 2. Без последней точки

import numpy as np

x = np.logspace(0, 3, num=3, endpoint=False)
print(x)
[  1.          10.          100.]

Когда endpoint=False, диапазон [10**0, 10**3) делится на 3 равные части в лог-шкале.

Пример 3. Другое основание

import numpy as np

x = np.logspace(0, 4, num=5, base=2)
print(x)
[ 1.  2.  4.  8. 16.]

Основание 2 даёт степени двойки — пригодится при работе с PWM-разрядностью.

Пример 4. Частоты для теста фильтра

import numpy as np

# 10 частот от 10 Гц до 100 кГц для измерения АЧХ
freqs = np.logspace(1, 5, num=5)
print(freqs)
[1.e+01 1.e+02 1.e+03 1.e+04 1.e+05]

Пример 5. Тип данных

import numpy as np

x = np.logspace(0, 2, num=3, dtype=int)
print(x, x.dtype)
[  1  10 100] int64

См. также

Примечание

Лицензия и источники

Техническое описание функции адаптировано из официальной документации NumPy (https://numpy.org/doc/stable/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.