В этом уроке мы собираемся обсудить тригонометрическую функцию косинуса(cos) в Python. Мы поговорим о модулях, которые мы можем использовать для реализации функции cos в нашей программе Python. Мы также узнаем о построении графиков с помощью функции cos в программе. Итак, давайте начнем с рассмотрения модулей, которые мы можем импортировать в программу для использования функции cos.
В Python у нас есть математический модуль, который мы можем использовать для импорта и реализации функции cos, а также других важных математических операций в программе.
Помимо математического модуля, мы также можем использовать модуль numpy Python для реализации функции cos в программе. Мы изучим использование обоих модулей, т. е. модуля math и модуля numpy.
Метод 1: функция cos() в модуле math
Математический модуль Python содержит ряд важных математических значений и операций, и функция cos() является одной из них. Мы можем использовать функцию cos() модуля math для реализации тригонометрического значения cos в программе.
Функция math.cos() возвращает значение тригонометрического косинуса для аргумента, который мы указываем внутри функции, т. е. значение степени в косинусе. Значение, которое мы даем в качестве аргумента функции, должно быть в радианах.
Ниже приведен синтаксис использования функции math.cos() в программе Python:
math.cos(a)
Параметры: Здесь параметр a = значение в радианах.
Возвращаемое значение: функция math.cos() возвращает значение косинуса для аргумента ‘a’ в радианах, которое мы указали внутри функции.
Давайте разберемся с использованием функции cos() модуля math в Python с помощью следующего примера программы:
# Import math module import math # Define an input radian value x = math.pi / 12 # Printing cosine value for respective input value print("The cosine value of pi / 12 value as given is : ", end ="") print(math.cos(x))
Выход:
The cosine value of pi / 12 value as given is: 0.9659258262890683
Метод 2: функция cos() в модуле Numpy
Помимо математического модуля, мы также можем использовать модуль numpy для реализации значения тригонометрического косинуса в программе. Для этого нам предоставляется функция cos() внутри модуля numpy, которая дает нам математическое значение косинуса на выходе.
Как и функция math.cos(), при использовании функции cos() модуля numpy мы должны указать значение аргумента в радианах внутри функции.
Ниже приведен синтаксис использования функции numpy.cos() в программе Python:
numpy.cos(a)
Параметры: мы можем указать ‘a’ в качестве следующих типов параметров внутри функции numpy.cos():
- В функции можно указать аргумент с одним значением в радианах.
- Мы также можем предоставить массив, содержащий несколько значений в радианах, в качестве аргумента функции.
Тип возвращаемого значения: функция numpy.cos() возвращает значения косинуса заданного числа.
Давайте разберемся с использованием функции cos() модуля numpy в Python с помощью следующего примера программы:
# importing numpy module as jtp in program import numpy as jtp # defining multiple input values in a single array ValArray = [0, jtp.pi / 4, jtp.pi / 7, jtp.pi/9, jtp.pi/12, jtp.pi/5] # printing input array in output print("Values given in the input array: n", ValArray) # using cos() function to get cosine values CosArray = jtp.cos(ValArray) # printing cos values in output print("nRespective Cosine values for input array values: n", CosArray)
Выход:
Values given in the input array: [0, 0.7853981633974483, 0.4487989505128276, 0.3490658503988659, 0.2617993877991494, 0.6283185307179586] Respective Cosine values for input array values: [1. 0.70710678 0.90096887 0.93969262 0.96592583 0.80901699]
Построение графика значений косинуса
До сих пор мы изучали использование функции cos() для модулей numpy и math внутри программы Python. Теперь мы будем использовать модули numpy и math, а также функцию cos() для построения графика значений косинуса. Мы можем сделать это графическое представление двумя способами:
- Прямой импорт и реализация функции cos() и модуля numpy & math.
- Итерация по функции cos() с модулем numpy и math.
Давайте разберемся в реализации обоих методов, используя их в программе Python и построив графики с ними на выходе.
Пример 1: Прямой импорт и реализация функции cos() и модуля numpy & math.
# importing numpy module as jtp import numpy as jtp # importing matplotlib module as mlt import matplotlib.pyplot as mlt # Defining an array containing radian values RadValArray = jtp.linspace(-(2*jtp.pi), 2*jtp.pi, 20) # cosine values for respective array value CosValArray = jtp.cos(RadValArray) # printing values in output print("Radian values in the array: ", RadValArray) print("nRespective cos values of array: ", CosValArray) # using plot() function with variables mlt.plot(RadValArray, CosValArray, color = 'blue', marker = "*") mlt.title("Graphical representation of cos function") mlt.xlabel("X-axis") mlt.ylabel("Y-axis") # plotting graph in output mlt.show()
Выход:
Radian values in the array: [-6.28318531 -5.62179738 -4.96040945 -4.29902153 -3.6376336 -2.97624567 -2.31485774 -1.65346982 -0.99208189 -0.33069396 0.33069396 0.99208189 1.65346982 2.31485774 2.97624567 3.6376336 4.29902153 4.96040945 5.62179738 6.28318531] Respective cos values of array: [ 1. 0.78914051 0.24548549 -0.40169542 -0.87947375 -0.9863613 -0.67728157 -0.08257935 0.54694816 0.94581724 0.94581724 0.54694816 -0.08257935 -0.67728157 -0.9863613 -0.87947375 -0.40169542 0.24548549 0.78914051 1. ]
Пример 2: Итерация по функции cos() с модулем numpy и math.
# importing math module import math # importing numpy module as jtp import numpy as jtp # importing matplotlib module as mlt import matplotlib.pyplot as mlt # Defining an array containing radian values RadValArray = jtp.linspace(-(2*jtp.pi), 2*jtp.pi, 20) # Empty array for cosine values CosValArray = [] #Iterating over the cos values array for j in range(len(RadValArray)): CosValArray.append(math.cos(RadValArray[j])) j += 1 # printing respective values in output print("Radian values in the array: ", RadValArray) print("nRespective cos values of array: ", CosValArray) # using plot() function with variables mlt.plot(RadValArray, CosValArray, color = 'orange', marker = "+") mlt.title("Graphical representation of cos function") mlt.xlabel("X-axis") mlt.ylabel("Y-axis") # plotting graph in output mlt.show()
Выход:
Radian values in the array: [-6.28318531 -5.62179738 -4.96040945 -4.29902153 -3.6376336 -2.97624567 -2.31485774 -1.65346982 -0.99208189 -0.33069396 0.33069396 0.99208189 1.65346982 2.31485774 2.97624567 3.6376336 4.29902153 4.96040945 5.62179738 6.28318531] Respective cos values of array: [1.0, 0.7891405093963934, 0.2454854871407988, -0.40169542465296987, -0.8794737512064891, -0.9863613034027223, -0.6772815716257412, -0.08257934547233249, 0.5469481581224268, 0.9458172417006346, 0.9458172417006346, 0.5469481581224268, -0.0825793454723316, -0.6772815716257405, -0.9863613034027223, -0.8794737512064893, -0.40169542465296987, 0.2454854871407988, 0.7891405093963934, 1.0]
Изучаю Python вместе с вами, читаю, собираю и записываю информацию опытных программистов.
Модуль math – один из наиважнейших в Python. Этот модуль предоставляет обширный функционал для работы с числами.
math.ceil(X) – округление до ближайшего большего числа.
math.copysign(X, Y) — возвращает число, имеющее модуль такой же, как и у числа X, а знак — как у числа Y.
math.fabs(X) — модуль X.
math.factorial(X) — факториал числа X.
math.floor(X) — округление вниз.
math.fmod(X, Y) — остаток от деления X на Y.
math.frexp(X) — возвращает мантиссу и экспоненту числа.
math.ldexp(X, I) — X * 2i. Функция, обратная функции math.frexp().
math.fsum(последовательность) — сумма всех членов последовательности. Эквивалент встроенной функции sum(), но math.fsum() более точна для чисел с плавающей точкой.
math.isfinite(X) — является ли X числом.
math.isinf(X) — является ли X бесконечностью.
math.isnan(X) — является ли X NaN (Not a Number — не число).
math.modf(X) — возвращает дробную и целую часть числа X. Оба числа имеют тот же знак, что и X.
math.trunc(X) — усекает значение X до целого.
math.exp(X) — eX.
math.expm1(X) — eX — 1. При X → 0 точнее, чем math.exp(X)-1.
math.log(X, [base]) — логарифм X по основанию base. Если base не указан, вычисляется натуральный логарифм.
math.log1p(X) — натуральный логарифм (1 + X). При X → 0 точнее, чем math.log(1+X).
math.log10(X) — логарифм X по основанию 10.
math.log2(X) — логарифм X по основанию 2.
math.pow(X, Y) — XY.
math.sqrt(X) — квадратный корень из X.
math.acos(X) — арккосинус X. В радианах.
math.asin(X) — арксинус X. В радианах.
math.atan(X) — арктангенс X. В радианах.
math.atan2(Y, X) — арктангенс Y/X. В радианах. С учетом четверти, в которой находится точка (X, Y).
math.cos(X) — косинус X (X указывается в радианах).
math.sin(X) — синус X (X указывается в радианах).
math.tan(X) — тангенс X (X указывается в радианах).
math.hypot(X, Y) — вычисляет гипотенузу треугольника с катетами X и Y (math.sqrt(x * x + y * y)).
math.degrees(X) — конвертирует радианы в градусы.
math.radians(X) — конвертирует градусы в радианы.
math.cosh(X) — вычисляет гиперболический косинус.
math.sinh(X) — вычисляет гиперболический синус.
math.tanh(X) — вычисляет гиперболический тангенс.
math.acosh(X) — вычисляет обратный гиперболический косинус.
math.asinh(X) — вычисляет обратный гиперболический синус.
math.atanh(X) — вычисляет обратный гиперболический тангенс.
math.erf(X) — функция ошибок.
math.erfc(X) — дополнительная функция ошибок (1 — math.erf(X)).
math.gamma(X) — гамма-функция X.
math.lgamma(X) — натуральный логарифм гамма-функции X.
math.pi — pi = 3,1415926…
math.e — e = 2,718281…
В этом разделе представлены тригонометрические функции модуля math
.
Содержание:
- Функция
math.sin()
; - Функция
math.cos()
; - Функция
math.tan()
; - Функция
math.asin()
; - Функция
math.acos()
; - Функция
math.atan()
; - Функция
math.atan2()
; - Функция
math.hypot()
.
math.sin(x)
:
Функция math.sin()
возвращает синус угла x
значение которого задано в радианах.
>>> from math import * >>> sin(pi/2) # 1.0 >>> sin(pi/4) # 0.7071067811865475)
math.cos(x)
:
Функция math.cos()
возвращает косинус угла x
значение которого задано в радианах.
>>> from math import * >>> cos(pi/3) # 0.5000000000000001 >>> cos(pi) # -1.0
math.tan(x)
:
Функция math.tan()
возвращает тангенс угла x
значение которого задано в радианах.
>>>from math import * >>> tan(pi/3) # 1.7320508075688767 >>> tan(pi/4) # 0.9999999999999999
При определенных значениях углов тангенс должен быть равен либо −∞
либо +∞
, скажем tan(3π/2)=+∞
, a tan(−π/2)=−∞
, но вместо этого мы получаем либо очень большие либо очень маленькие значения типа float
:
>>> tan(-pi/2) # -1.633123935319537e+16 >>> tan(3*pi/2) # должно быть Inf, но # 5443746451065123.0
math.asin(x)
:
Функция math.asin()
возвращает арксинус значения x
, т. е. такое значение угла y
, выраженного в радианах при котором sin(y) = x
.
>>> from math import * >>> asin(sin(pi/6)) # 0.5235987755982988 >>> pi/6 # 0.5235987755982988
math.acos(x)
:
Функция math.acos()
возвращает арккосинус значения x
, т. е. возвращает такое значение угла y
, выраженного в радианах, при котором cos(y) = x
.
>>> from math import * >>> acos(cos(pi/6)) 0.5235987755982987 >>> pi/6 0.5235987755982988
math.atan(x)
:
Функция math.atan()
возвращает арктангенс значения x
, т. е. возвращает такое значение угла y
, выраженного в радианах, при котором tan(y) = x
.
>>> from math import * >>> atan(tan(pi/6)) # 0.5235987755982988 >>> pi/6 # 0.5235987755982988
math.atan2(y, x)
:
Функция math.atan2()
возвращает арктангенс значения y/x
, т. е. возвращает такое значение угла z
, выраженного в радианах, при котором tan(z) = x
. Результат находится между -pi
и pi
.
>>> from math import * >>> y = 1 >>> x = 2 >>> atan2(y, x) # 0.4636476090008061 >>> atan(y/x) # 0.4636476090008061 >>> tan(0.4636476090008061) # 0.49999999999999994
Данная функция, в отличие от функции math.atan()
, способна вычислить правильный квадрант в котором должно находиться значение результата. Это возможно благодаря тому, что функция принимает два аргумента (x, y)
координаты точки, которая является концом отрезка начатого в начале координат. Сам по себе, угол между этим отрезком и положительным направлением оси X не несет информации о том где располагается конец этого отрезка, что приводит к одинаковому значению арктангенса, для разных отрезков, но функция math.atan2()
позволяет избежать этого, что бывает очень важно в целом ряде задач. Например, atan(1)
и atan2(1, 1)
оба имеют значение pi/4, но atan2(-1, -1)
равно -3 * pi / 4
.
math.hypot(*coordinates)
:
Функция math.hypot()
возвращает евклидову норму, sqrt(sum(x**2 for x in coordinates))
. Это длина вектора от начала координат до точки, заданной координатами.
Для двумерной точки (x, y)
это эквивалентно вычислению гипотенузы прямоугольного треугольника с использованием теоремы Пифагора sqrt(x*x + y*y)
.
Изменено в Python 3.8: Добавлена поддержка n-мерных точек. Раньше поддерживался только двумерный случай.
Содержание:развернуть
- Синтаксис и подключение
- Константы модуля Math
- Список функций
-
Теоретико-числовые функции и функции представления
-
Степенные и логарифмические функции
-
Тригонометрические функции
-
Угловые преобразования
-
Гиперболические функции
-
Специальные функции
Python библиотека math
содержит наиболее применяемые математические функции и константы. Все вычисления происходят на множестве вещественных чисел.
Если вам нужен соответствующий аппарат для комплексного исчисления, модуль math
не подойдёт. Используйте вместо него cmath
. Там вы найдёте комплексные версии большинства популярных math
-функций.
Синтаксис и подключение
Чтобы подключить модуль, необходимо в начале программы прописать следующую инструкцию:
import math
Теперь с помощью точечной нотации можно обращаться к константам и вызывать функции этой библиотеки. Например, так:
math.log()
Константы модуля Math
math.pi
Представление математической константы π = 3.141592…. «Пи» — это отношение длины окружности к её диаметру.
print(math.pi)
> 3.141592653589793
math.e
Число Эйлера или просто e
. Иррациональное число, которое приблизительно равно 2,71828.
print(math.e)
> 2.718281828459045
math.tau
Число τ — это отношение длины окружности к её радиусу. Т.е
import math
> print(math.tau)
print(math.tau == 2 * math.pi)
> True
math.inf
Положительная бесконечность.
print(math.inf)
> inf
Для оперирования отрицательной бесконечно большой величиной, используйте -math.inf
Константа math.inf
эквивалента выражению float("inf")
.
math.nan
NaN
означает — «не число».
print(math.nan)
> nan
Аналогичная запись: float("nan")
.
Список функций
Теоретико-числовые функции и функции представления
math.ceil()
Функция округляет аргумент до большего целого числа.
print(math.ceil(3.0001))
> 4
math.comb(n, k)
Число сочетаний из n
по k
. Показывает сколькими способами можно выбрать k
объектов из набора, где находится n
объектов. Формула:
Решим задачу: На столе лежат шесть рубинов. Сколько существует способов выбрать два из них?
print(math.comb(6,2))
> 15
💭 Можете подставить числа в формулу, и самостоятельно проверить правильность решения.
math.copysign()
Функция принимает два аргумента. Возвращает первый аргумент, но со знаком второго.
print(math.copysign(-6, 2))
> 6.0
math.fabs()
Функция возвращает абсолютное значение аргумента:
print(math.fabs(-42))
> 42.0
math.factorial()
Вычисление факториала. Входящее значение должно быть целочисленным и неотрицательным.
print(math.factorial(5))
> 120
math.floor()
Антагонист функции ceil()
. Округляет число до ближайшего целого, но в меньшую сторону.
print(math.floor(3.99))
> 3
math.fmod(a, b)
Считает остаток от деления a
на b
. Является аналогом оператора «%
» с точностью до типа возвращаемого значения.
print(math.fmod(75, 4))
> 3.0
math.frexp(num)
Возвращает кортеж из мантиссы и экспоненты аргумента. Формула:
, где M
— мантисса, E
— экспонента.
print(math.frexp(10))
> (0.625, 4)
# проверим
print(pow(2, 4) * 0.625)
> 10.0
math.fsum()
Вычисляет сумму элементов итерируемого объекта. Например, вот так она работает для списка:
summable_list = [1, 2, 3, 4, 5]
print(math.fsum(summable_list))
> 15.0
math.gcd(a, b)
Возвращает наибольший общий делитель a
и b
. НОД — это самое большое число, на которое a
и b
делятся без остатка.
a = 5
b = 15
print(math.gcd(a, b))
> 5
math.isclose(x, y)
Функция возвращает True
, если значения чисел x
и y
близки друг к другу, и False
в ином случае. Помимо пары чисел принимает ещё два необязательных именованных аргумента:
rel_tol
— максимально допустимая разница между числами в процентах;abs_tol
— минимально допустимая разница.
x = 10
y = 11
print(math.isclose(x, y))
> False
print(math.isclose(x, y, rel_tol=1))
> True
math.isfinite()
Проверяет, является ли аргумент NaN
, False
или же бесконечностью. True
, если не является, False
— в противном случае.
norm = 3
inf = float('inf')
print(math.isfinite(norm))
> True
print(math.isfinite(inf))
> False
math.isinf()
True
, если аргумент — положительная/отрицательная бесконечность. False
— в любом другом случае.
not_inf = 42
inf = math.inf
print(math.isinf(not_inf))
> False
print(math.isinf(inf))
> True
math.isnan()
Возврат True
, если аргумент — не число (nan
). Иначе — False
.
not_nan = 0
nan = math.nan
print(math.isnan(not_nan))
> False
print(math.isnan(nan))
> True
math.isqrt()
Возвращает целочисленный квадратный корень аргумента, округлённый вниз.
print(math.isqrt(44))
> 6
math.ldexp(x, i)
Функция возвращает значение по формуле:
возвращаемое значение = x * (2 ** i)
print(math.ldexp(3, 2))
> 12.0
math.modf()
Результат работы modf()
— это кортеж из двух значений:
- Дробная часть аргумента;
- Целая часть аргумента;
print(math.modf(3.14))
> (0.14000000000000012, 3.0)
math.perm(n, k)
Возвращает число размещений из n
по k
. Формула:
Задача: Посчитать количество вариантов распределения трёх билетов на концерт Стаса Михайлова для пяти фанатов.
print(math.perm(5, 3))
> 60
Целых 60 способов! Главное — не запутаться в них, и не пропустить концерт любимого исполнителя!
math.prod()
Принимает итерируемый объект. Возвращает произведение элементов.
multiple_list = [2, 3, 4]
print(math.prod(multiple_list))
> 24
math.remainder(m, n)
Возвращает результат по формуле:
Результат = m – x * n,
где x
— ближайшее целое к выражению m/n
число.
print(math.remainder(55, 6))
> 1.0
print(math.remainder(4, 6))
> -2.0
math.trunc()
trunc()
вернёт вам целую часть переданного в неё аргумента.
print(math.trunc(4.6))
> 4
Степенные и логарифмические функции
math.exp(x)
Возвращает e
в степени x
. Более точный аналог pow(math.e, x)
.
print(math.exp(3))
> 20.085536923187668
math.expm1(x)
Вычисляет значение выражения exp(x) - 1
и возвращает результат.
print(math.expm1(3))
> 19.085536923187668
print(math.expm1(3) == (math.exp(3) - 1))
> True
math.log()
Функция работает, как с одним, так и с двумя параметрами.
1 аргумент: вернёт значение натурального логарифма (основание e
):
print(math.log(math.e))
> 1.0
2 аргумента: вернёт значение логарифма по основанию, заданному во втором аргументе:
print(math.log(16, 4))
> 2.0
☝️ Помните, это читается, как простой вопрос: «в какую степень нужно возвести число 4
, чтобы получить 16
«. Ответ, очевидно, 2
. Функция log()
с нами согласна.
math.log1p()
Это натуральный логарифм от аргумента (1 + x)
:
print(math.log(5) == math.log1p(4))
> True
math.log2()
Логарифм по основанию 2
. Работает точнее, чем math.log(x, 2)
.
math.log10()
Логарифм по основанию 10
. Работает точнее, чем math.log(x, 10)
.
math.pow(a, b)
Функция выполняет возведение числа a
в степень b
и возвращает затем вещественный результат.
print(math.pow(2,4))
> 16.0
Подробнее о возведении в степень в Python:
math.sqrt()
Возврат квадратного корня из аргумента
print(math.sqrt(16))
> 4.0
Про квадратные корни в Python:
Тригонометрические функции
math.acos()
Функция возвращает арккосинус в радианах:
print(math.acos(-1))
> 3.141592653589793
math.asin()
Возврат арксинуса (угол в радианах):
# π/2
print(math.asin(1))
> 1.5707963267948966
math.atan()
Арктангенс:
# π/4
print(math.atan(1))
> 0.7853981633974483
math.atan2(y, x)
Функция принимает на вход два аргумента и возвращает арктангенс y/x
. Значение будет в радианах. atan2()
учитывает четверть, в которой находится точка (x, y)
.
print(math.atan2(-12, 13))
> -0.7454194762741583
math.cos()
Косинус угла, который следует указывать в радианах:
print(math.cos(math.pi))
> -1.0
math.dist(p, q)
Функция возвращает значение евклидова расстояния между точками p
и q
. У точек должны совпадать измерения. В прямоугольной системе координат dist(p, q)
эквивалентна следующей формуле:
# аналогично sqrt(8)
print(math.dist((0, 0), (2, 2)))
> 2.8284271247461903
math.hypot(x, y)
Возвращает длину вектора от начала координат до точки, заданной координатами. Иначе — функция вычисляет гипотенузу треугольника c катетами x
и y
.
print(math.hypot(3, 4))
> 5.0
math.sin()
Функция вернёт синус угла. Угол следует задавать в радианах:
print(math.sin(0))
> 0.0
math.tan()
Тангенс угла. Аргумент указываем в радианах.
print(math.tan(math.radians(315)))
> -1.0000000000000004
Угловые преобразования
math.degrees()
Функция переводит радианное значение угла в градусы.
print(math.degrees(math.pi))
> 180.0
math.radians()
Наоборот: из градусов — в радианы.
# функция отрабатывает прямо, как по табличке синусов =)
print(math.radians(30))
> 0.5235987755982988
print(math.pi / 6)
> 0.5235987755982988
Гиперболические функции
Гиперболические функции являются аналогами тригонометрических и тесно с ними связаны. Но тригонометрические функции основаны на окружностях, а гиперболические, соответственно, на гиперболах.
Для Python все они принимают один аргумент — точку, в которой вычисляется значение функции.
math.acosh()
Обратный гиперболический косинус:
print(math.acosh(1))
> 0.0
math.asinh()
Обратный гиперболический синус:
print(math.asinh(0))
> 0.0
math.atanh()
Обратный гиперболический тангенс:
print(math.atanh(0))
> 0.0
math.cosh()
Гиперболический косинус:
print(math.cosh(1.2))
> 1.8106555673243747
math.sinh()
Гиперболический синус:
print(math.sinh(2.5))
> 6.0502044810397875
math.tanh()
Гиперболический тангенс:
print(math.tanh(6))
> 0.9999877116507956
Специальные функции
math.erf(x)
Возвращает в x
функцию ошибки Гаусса.
math.erfc(x)
Возвращает в x
комплементарную функцию ошибки.
math.gamma()
Возвращает значение гамма-функции в точке x
.
print(math.gamma(4))
> 6.0
math.lgamma()
Аналогично возвращается натуральный логарифм модуля значения гамма-функции в точке x
.
print(math.log(math.gamma(4)))
> 1.791759469228055
print(math.lgamma(4))
> 1.7917594692280554
—
Содержание
- Введение
- Арифметические функции
- Округление чисел. Функции ceil() и floor()
- Возведение в степень. Функция pow()
- Квадратный корень числа. Функция sqrt()
- Модуль числа. Функция fabs()
- Получение НОД. Функция gcd()
- Вычисление суммы последовательности. Функция fsum()
- Экспонента. Функция exp()
- Тригонометрические функции
- Константы
- Логарифмы. Функции log() и log10()
- Заключение
Введение
Python имеет множество встроенных модулей, которые делают разработку приложений на этом языке более удобной и эффективной. Один из таких модулей – модуль math. В нем содержатся математические функции и константы, которые могут быть полезны во многих приложениях. В статье разберем основные функции модуля более подробно.
Арифметические функции
Арифметические функции используются для различных математических операций, таких как представление чисел в разных формах и выполнение различных вычислений.
Округление чисел. Функции ceil() и floor()
Функция ceil() служит для округления чисел до наименьшего целого числа, а floor() – до наибольшего целого числа:
Пример использования функций ceil() и floor():
import math
x = 7.6
y = 3.2
print(math.ceil(x)) # выведет 8
print(math.floor(y)) # выведет 3
Возведение в степень. Функция pow()
Функция pow() позволяет возводить число в степень.
math.pow(x, y) – вернёт число x в степени y.
Пример использования функции pow():
import math
print(math.pow(5, 3)) # выведет 125.0
Квадратный корень числа. Функция sqrt()
Функция sqrt() позволяет вычислить квадратный корень из числа.
math.sqrt(x) – вернёт квадратный корень числа x.
import math
x = 25
print(math.sqrt(x)) # выведет 5.0
Модуль числа. Функция fabs()
Функция fabs() возвращает абсолютное значение числа с плавающей точкой (float). Она работает аналогично встроенной функции abs() для целых чисел, но принимает и возвращает значения с плавающей запятой.
math.fabs(x) – вернёт число x в абсолютном виде с плавающей точкой.
Пример использования функции fabs():
import math
print(math.fabs(-50)) # выведет 50.0
Получение НОД. Функция gcd()
Функция gcd() позволяет найти наибольший общий делитель двух чисел.
math.gcd(x, y) – вернёт наибольший общий делитель чисел x и y.
Пример использования функции gcd():
import math
x = 15
y = 30
print(math.gcd(x, y)) # выведет 15
Вычисление суммы последовательности. Функция fsum()
Функция fsum() позволяет вычислить сумму значений в последовательности с плавающей точкой с повышенной точностью, чтобы избежать ошибок округления, которые могут возникать при использовании стандартной функции sum().
math.fsum(sequence) – вернёт сумму значений в последовательности sequence.
Пример использования функции fsum():
import math
mylist = [1, 0.1, 0.2, 0.3, 3]
result = math.fsum(mylist)
print(result) # выведет 4.6
Экспонента. Функция exp()
Функцию exp(), возвращает экспоненту (e в степени x), где x — аргумент функции.
math.exp(x) – вернёт экспоненту числа x.
Пример использования функции exp():
import math
x = math.exp(1)
print(x) # выведет 2.718281828459045
Тригонометрические функции
В модуле math присутствуют тригонометрические функции: sin(), cos(), tan(), asin(), acos(), atan(), radians(), degrees(). Все они работают только в радианах, поэтому необходимо переводить градусы в радианы.
math.sin(x) – вернёт синус числа x в радианах;
math.cos(x) – вернёт косинус числа x в радианах;
math.tan(x) – вернёт тангенс числа x в радианах;
math.asin(x) – вернёт арксинус числа x в радианах;
math.acos(x) – вернёт арккосинус числа x в радианах;
math.atan(x) – вернёт арктангенс числа x в радианах.
math.radians(x) – вернёт преобразованное в радианы число x.
math.degrees(x) – вернёт преобразованное в радианы число x.
Примеры:
import math
x = math.radians(45)
print(x) # выведет 7853981633974483
print(math.sin(x)) # выведет 0.7071067811865476
print(math.cos(x)) # выведет 0.7071067811865476
print(math.tan(x)) # выведет 0.9999999999999999
print(math.asin(x)) # выведет 0.9033391107665127
print(math.acos(x)) # выведет 0.6674572160283838
print(math.atan(x)) # выведет 0.6657737500283538
print(math.degrees(x)) # выведет 45.0
Константы
Модуль math также содержит часто используемые математические константы, такие как Число Пи и Число Эйлера.
math.pi – вернёт число Пи;
math.e – вернёт число Эйлера.
import math
print(math.pi) # выведет 3.141592653589793
print(math.e) # выведет 2.718281828459045
Логарифмы. Функции log() и log10()
Функция log() позволяет вычислить натуральный логарифм числа. Также можно вычислять десятичный логарифм используя функцию log10(). Если нужно найти логарифм по другому основанию, необходимо использовать формулу:
log(x, base) = frac{ln(x)}{ln(base)}
math.log(x) – вернёт логарифм числа x;
math.log10(x) – вернёт десятичный логарифм числа x.
Пример использования функций log() и log10():
import math
x = 10
print(math.log(x)) # выведет 2.302585092994046
print(math.log(x, 2)) # выведет 3.3219280948873626
print(math.log10(x)) # выведет 1.0 (логарифм по основанию 10)
Заключение
В итоге, модуль math является очень полезным инструментом для работы с математическими операциями и генерации случайных чисел в Python. Он содержит большое количество функций для различных задач, что позволяет работать с числами более эффективно и быстро.
В ходе статьи мы с Вами разобрали основные функции модуля math в Python.
Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂