numpy.log()

Функция numpy.log() поэлементно вычисляет натуральный логарифм (по основанию e) элементов массива. Обратная к numpy.exp().

Сигнатура

numpy.log(x, /, out=None, *, where=True, casting='same_kind',
          order='K', dtype=None, subok=True[, signature, extobj])

Параметры

  • x — входной массив. Допускаются положительные значения; для нуля — -inf, для отрицательных — nan.

  • out — массив-приёмник.

  • where — маска применения.

  • dtype — тип результата.

Возвращаемое значение

ndarray или скаляр с натуральными логарифмами. Для x = 0 возвращается -inf, для x < 0 — nan с предупреждением.

Примеры

Пример 1. Логарифм чисел.

import numpy as np

a = np.array([1, np.e, np.e**2])
print(np.log(a))
[0. 1. 2.]

Пример 2. Граничные значения.

a = np.array([0.0, 1.0, -1.0])
print(np.log(a))
[-inf   0.  nan]

Пример 3. Шкала децибел.

# P в мВт → дБм = 10 * log10(P) — для иллюстрации используем log/log10
P = np.array([1.0, 10.0, 100.0, 1000.0])
dBm = 10 * np.log(P) / np.log(10)
print(dBm)
[ 0. 10. 20. 30.]

Пример 4. Время разряда конденсатора.

# t = -RC * ln(U/U0)
U0 = 5.0
U = np.array([5.0, 3.0, 1.0, 0.5])
RC = 0.1
t = -RC * np.log(U / U0)
print(t.round(4))
[0.     0.0511 0.1609 0.2303]

Пример 5. Закон Вебера-Фехнера: восприятие — логарифм стимула.

stimulus = np.array([1, 10, 100, 1000])
perception = np.log(stimulus)
print(perception.round(3))
[0.    2.303 4.605 6.908]

См. также

Примечание

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

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