/
Вопросы и ответы
/
Python
/

Какая функция нужна для вычисления логарифма в Python?

Какая функция нужна для вычисления логарифма в Python?

4 года назад

Andrey Moshkov

Ответы

2

Для вычисления логарифма в Python используется функция math.log() из модуля math. Эта функция позволяет нам вычислять натуральный логарифм (по основанию e) или логарифм по другому основанию.

Вот примеры использования функции math.log():

Вычисление натурального логарифма:

1
2
3
4
5
import math

x = 10
result = math.log(x)
print("Натуральный логарифм числа", x, "равен", result)

Вычисление логарифма по произвольному основанию:

1
2
3
4
5
6
import math

x = 100
base = 10
result = math.log(x, base)
print("Логарифм числа", x, "по основанию", base, "равен", result)

В первом примере мы используем math.log(x) для вычисления натурального логарифма числа x.

Во втором примере мы используем math.log(x, base) для вычисления логарифма числа x по основанию base.

Обратите внимание, что модуль math должен быть импортирован перед использованием функции math.log()

3 года назад

Maksim Litvinov

2

В модуле math есть функция log() для вычисления логарифма.

Если в функцию передать одно число (обязательный аргумент), то она вернет логарифм этого числа с основанием e (математическая константа для обозначения основания натурального логарифма, известна как число Эйлера).

1
2
3
import math

math.log(5) # 1.6094379124341003

Если в функцию передать два числа log(x, base), то она вернет логарифм х с основанием base.

1
2
3
4
math.log(2, 5) # 0.43067655807339306
math.log(5, 5) # 1.0
math.log(30, 5) # 2.1132827525593787
math.log(150, 5) # 3.1132827525593783

Также могут пригодится функции log2(х) и log10(х) из этого же модуля. Они находят логарифм x c основаниями 2 и 10 соответственно.

1
2
math.log2(10) # 3.321928094887362
math.log10(10) # 1.0

4 года назад

Карина Абдуллаева

0

import math result = math.log(8, 2) print(result) # ответ будет равен 3.0

2 года назад

Полинк

0

Логарифмы считают функции из модуля math. Натуральный логарифм (ln) — math.log(x), логарифм по основанию b — math.log(x, b):

1
2
3
4
import math

print(math.log(100))     # => 4.605170185988092 — ln(100)
print(math.log(8, 2))    # => 3.0 — логарифм 8 по основанию 2

Все функции для логарифмов

Что нужноФункцияПример
Натуральный, ln xmath.log(x)math.log(math.e) → 1.0
По любому основаниюmath.log(x, b)math.log(81, 3) → 4.0
Двоичный, log₂ xmath.log2(x)math.log2(8) → 3.0
Десятичный, lg xmath.log10(x)math.log10(1000) → 3.0
ln(1 + x) для малых xmath.log1p(x)math.log1p(1e-10)

Почему для оснований 2 и 10 есть отдельные функции

math.log(x, b) внутри делит ln x на ln b. На дробных числах появляется погрешность:

1
2
print(math.log(1000, 10))  # => 2.9999999999999996
print(math.log10(1000))    # => 3.0

math.log2() и math.log10() считают точнее. Если результат приводят к целому через int(), погрешность превратит 3 в 2.

Логарифм от нуля и отрицательных чисел

1
2
3
4
math.log(0)
# ValueError: math domain error
math.log(-1)
# ValueError: math domain error

В новых версиях Python текст ошибки может отличаться, тип остаётся ValueError. Логарифм отрицательного числа есть только в комплексных числах, для них используют модуль cmath:

1
2
import cmath
print(cmath.log(-1))  # => 3.141592653589793j

Логарифм массива чисел

Для списков и массивов используют NumPy. Функции работают со всеми элементами сразу:

1
2
3
4
5
import numpy as np

data = np.array([1, 10, 100])
print(np.log10(data))  # => [0. 1. 2.]
print(np.log(data))    # натуральный логарифм каждого элемента

Как записать формулу с логарифмом

Формула y = 2·ln(x) + log₂(x):

1
2
3
4
5
import math

x = 16
y = 2 * math.log(x) + math.log2(x)
print(round(y, 3))  # => 9.545

Математические функции Python разбирают в бесплатном курсе «Основы Python», NumPy — на курсе «Python для анализа данных».

18 дней назад

Никита Вихров

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845