Math Python
В этом уроке мы познакомимся с встроенным модулем стандартной библиотеки Python. Этот модуль предоставляет множество функций для математических вычислений. В целях ускорения вычислений данный модуль «под капотом» написан на языке C.
Функции представления чисел
ceil() и floor() — целая часть числа
Эти функции мы уже рассматривали в одной из прошлых статей.
Кратко повторим.
ceil() и floor() — способы выполнить округление. Обе принимают число с дробной частью (тип float), а возвращают целое (тип int). Разница же между ними в том, что ceil() округляет число вверх (до ближайшего большего целого числа), а floor() — вниз.
Функция fabs() — модуль числа
Как и встроенная функция Питона abs, функция math.fabs возвращает модуль числа (если чило отрицательное, то отбрасывается знак «-»). Но есть между ними и важные отличия. Во-первых, math.fabs не предназначена для работы с комплексными числами, во-вторых, в отличие от abs, она возвращает не целочисленное, а дробное число.
factorial() — функция факториала
Эта функция предназначена для получения факториала.
Пример:
Функция fmod() — остаток от деления
Функция fmod() является расширением оператора % — в отличие от него, данная функция может работать с числами с плавающей точкой.
Пример:
Функция frexp()
Эта функция возвращает мантиссу и показатель степени.
Пример:
Функция fsum() — точная сумма float
Вычисляет точную сумму значений с плавающей точкой в итерируемом объекте и сумму списка или диапазона данных.
Пример:
Функции возведения в степень и логарифма
Функция exp()
Эта функция принимает один параметр в виде дробного числа и возвращает e^x.
Пример:
Функция expm1()
Эта функция работает так же, как и exp, но возвращает exp(x)-1. Здесь, expm1 значит exm-m-1, то есть, exp-minus-1.
Пример:
Функция log() — логарифм числа
Функция log(x[,base]) находит логарифм числа x по основанию e (по умолчанию). base— параметр опциональный. Если нужно вычислить логарифм с определенным основанием, его нужно указать.
Пример:
Функция log1p()
Эта функция похожа на функцию логарифма, но добавляет 1 к x. log1p значит log-1-p, то есть, log-1-plus.
Пример:
Функция log10()
Вычисляет логарифм по основанию 10.
Пример:
Функция pow() — степень числа
Используется для нахождения степени числа. Синтаксис функции pow(Base, Power). Она принимает два аргумента: основание и степень.
Пример:
Функция sqrt() — квадратный корень числа
Эта функция используется для нахождения квадратного корня числа. Она принимает число в качестве аргумента и находит его квадратный корень.
Пример:
Тригонометрические функции
В Python есть следующие тригонометрические функции.
Математический модуль math в Python – список функций
Математический модуль math в Python представлен наиболее известными математическими функциями, которые включают в себя тригонометрические функции, функции представления, логарифмические функции и т. д. Кроме того, он также определяет две математические константы, т. е. pie и число Эйлера.
Pie(n): это хорошо известная математическая константа, определяемая как отношение длины окружности к диаметру круга. Его значение составляет 3,141592653589793.
Число Эйлера(е): определяется как основание натурального логарифма, и его значение составляет 2,718281828459045.
Ниже приведены различные математические модули:
math.log()
Этот метод возвращает натуральный логарифм заданного числа. Он рассчитывается по базе e.
math.log10()
Этот метод возвращает базовый логарифм 10 заданного числа и называется стандартным логарифмом.
math.exp()
Этот метод возвращает число с плавающей запятой после увеличения e до заданного числа.
math.pow(x,y)
Этот метод возвращает степень x, соответствующую значению y. Если значение x отрицательно или y не является целым числом, возникает ошибка ValueError.
math.floor(x)
Этот метод возвращает минимальное значение x. Он возвращает значение x, меньшее или равное.
math.ceil(x)
Метод возвращает значение ceil x. Возвращает значение, большее или равное x.
math.fabs(x)
Метод возвращает абсолютное значение x.
math.factorial()
Возвращает факториал заданного числа x. Если x не является целым, возникает ошибка ValueError.
math.modf(x)
Возвращает дробную и целую части x. Он имеет знак x – float.
Python предоставляет несколько математических модулей, которые могут выполнять сложную задачу в одной строке кода.
Математические модули в Python: Math и Cmath
При написании программ в повседневной жизни мы обычно сталкиваемся с ситуациями, когда нам нужно использовать небольшую математику, чтобы выполнить задачу. Как и другие языки программирования, Python предоставляет различные операторы для выполнения базовых вычислений, таких как * для умножения, % для модуля и // для деления пола.
Если вы пишете программу для выполнения определенных задач, таких как изучение периодического движения или моделирования электрических цепей, вам нужно будет работать с тригонометрическими функциями, а также с комплексными числами. Хотя вы не можете использовать эти функции напрямую, вы можете получить к ним доступ, включив сначала два математических модуля. Эти модули являются math и cmath.
Арифметические функции
Вот несколько арифметических функций, которые предлагает Python:
Тригонометрические функции
Эти функции связывают углы треугольника по бокам. У них много приложений, в том числе изучение треугольников и моделирование периодических явлений, таких как звуковые и световые волны. Имейте в виду, что угол, который вы предоставляете, находится в радианах.
Вы знакомы с теоремой Пифагора? В нем говорится, что квадрат гипотенузы (сторона, противоположная прямому углу) равна сумме квадратов двух других сторон. Гипотенуза также является самой большой стороной прямоугольного треугольника. Математический модуль обеспечивает функцию hypot(a, b) для вычисления длины гипотенузы.
Гиперболические функции
Гиперболические функции являются аналогами тригонометрических функций, которые основаны на гиперболе вместо круга. В тригонометрии точки (cos b, sin b) представляют точки единичного круга. В случае гиперболических функций точки (cosh b, sinh b) представляют точки, которые образуют правую половину равносторонней гиперболы.
Степень и логарифмические функции
Вероятнее всего, вы чаще всего сталкиваетесь со степенями и логарифмами, чем с гиперболическими или тригонометрическими функциями. К счастью, модуль math предоставляет множество функций, которые помогут нам вычислить логарифмы.
Сложные числа
Комплексные числа имеют множество приложений, таких как моделирование электрических цепей, динамика жидкости и анализ сигналов. Если вам нужно работать над любой из этих вещей, модуль cmath не разочарует вас.
Заключение
Все эти функции, о которых мы говорили выше, имеют свои конкретные приложения. Например, вы можете использовать функцию factorial(x) для решения проблем с перестановкой и комбинацией. Вы можете использовать тригонометрические функции для преобразования вектора в декартовы координаты. Вы также можете использовать тригонометрические функции для имитации периодических функций, таких как звуковые и световые волны.
Аналогично, кривая веревки, висящая между двумя полюсами, может быть определена с использованием гиперболической функции. Поскольку все эти функции доступны непосредственно в модуле math, очень легко создавать небольшие программы, которые выполняют все эти задачи.
Надеюсь, вам понравился этот урок. Если у вас есть какие-либо вопросы, дайте мне знать в комментариях.
Math — математические функции в Python
Что такое модуль?
В C и C++ есть заголовочные файлы, в которых хранятся функции, переменные классов и так далее. При включении заголовочных файлов в код появляется возможность не писать лишние строки и не использовать одинаковые функции по несколько раз. Аналогично в Python для этого есть модули, которые включают функции, классы, переменные и скомпилированный код. Модуль содержит группу связанных функций, классов и переменных.
Функции представления чисел
ceil() и floor() — целая часть числа
Сeil() и floor() — функции общего назначения. Функция ceil округляет число до ближайшего целого в большую сторону. Функция floor убирает цифры десятичных знаков. Обе принимают десятичное число в качестве аргумента и возвращают целое число.
Пример:
Функция fabs() — абсолютное значение
Пример:
factorial() — функция факториала
Эта функция принимает положительное целое число и выводит его факториал.
Пример:
Примечание: при попытке использовать отрицательное число, возвращается ошибка значения ( Value Error ).
Пример:
Функция fmod() — остаток от деления
Пример:
Функция frexp()
Пример:
Функция fsum() — точная сумма float
Вычисляет точную сумму значений с плавающей точкой в итерируемом объекте и сумму списка или диапазона данных.
Пример:
Функции возведения в степень и логарифма
Функция exp()
Пример:
Функция expm1()
Пример:
Функция log() — логарифм числа
Функция log(x[,base]) находит логарифм числа x по основанию e (по умолчанию). base — параметр опциональный. Если нужно вычислить логарифм с определенным основанием, его нужно указать.
Пример:
Функция log1p()
Пример:
Функция log10()
Вычисляет логарифм по основанию 10.
Пример:
Функция pow() — степень числа
Пример:
Функция sqrt() — квадратный корень числа
Эта функция используется для нахождения квадратного корня числа. Она принимает число в качестве аргумента и находит его квадратный корень.
Пример:
Тригонометрические функции
В Python есть следующие тригонометрические функции.
Функция | Значение |
---|---|
sin | принимает радиан и возвращает его синус |
cos | принимает радиан и возвращает его косинус |
tan | принимает радиан и возвращает его тангенс |
asin | принимает один параметр и возвращает арксинус (обратный синус) |
acos | принимает один параметр и возвращает арккосинус (обратный косинус) |
atan | принимает один параметр и возвращает арктангенс (обратный тангенс) |
sinh | принимает один параметр и возвращает гиперболический синус |
cosh | принимает один параметр и возвращает гиперболический косинус |
tanh | принимает один параметр и возвращает гиперболический тангенс |
asinh | принимает один параметр и возвращает обратный гиперболический синус |
acosh | принимает один параметр и возвращает обратный гиперболический косинус |
atanh | принимает один параметр и возвращает обратный гиперболический тангенс |
Пример:
Функция преобразования углов
Эти функции преобразуют угол. В математике углы можно записывать двумя способами: угол и радиан. Есть две функции в Python, которые конвертируют градусы в радиан и обратно.
Пример:
Математические константы
Вычисления в python
Арифметические операции в python
Начнём со всем знакомой четверки:
print ( 10 / 2 )
# 5.0
print ( 100 / 3 )
# 33.333333333333336
print ( 21 / 4 )
# 5.25
print ( 23 / 7 )
# 3.2857142857142856
А как обстоит дело с дробями? Точно также:
0.75 = 0.5 + 0.25 = 1/2 + 1/4 = 0.11
Возникает вопрос, как перевести в двоичную систему такие дроби: 1/3
Это может продолжаться бесконечно долго. Поэтому python прерывает выполнение таких вычислений и часто выдает такие приколы:
print ( 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 )
# 0.7999999999999999
print ( 0.1 + 0.2 )
# 0.30000000000000004
print ( 7 / 3 )
# 2.3333333333333335
Еще немного математики. Математика в каждый дом!
# Остаток от деления
print ( 11 % 4 )
# 3
print ( 101 % 7 )
# 3
print ( 34 % 5 )
# 4
# Деление нацело
print ( 20 // 4 )
# 5
print ( 129 // 11 )
# 11
print ( 100 // 61 )
# 1
Операции сравнения в python
# Операция равенства: True, если X равен Y
print ( 10 == 10 )
# True
print ( 666 == 661 )
# False
# Операция больше: True, если X больше Y
print ( 120 > 2 )
# True
print ( 1000 > 1999 )
# False
# Операция меньше: True, если X меньше Y
print ( 121 120 )
# False
print ( 0 1 )
# True
# Операция меньше или равно: True, если X меньше или равен Y
print ( 6 6 )
# True
print ( 5 2 )
# False
# Операция больше или равно: True, если X больше или равен Y
print ( 1000 >= 10000 )
# False
print ( 9999 >= 9999 )
# False
Логические операции в python
# Оператор «and» или конъюнкция.
# True, если и выражение X, и выражение Y равны True
print ( 10 == 10 and 10 > 2 )
# True
print ( 666 == 661 and 9 > 0 )
# False
# Оператор «or» или дизъюнкция.
# True, если или выражение X, или выражение Y равны True
print ( 666 == 661 or 9 > 0 )
# True
print ( 666 == 661 or 9 0 )
# False
# Оператор «not» или инверсия меняет значение на противоположное.
# True, если выражение X равно False
print ( not 120 > 2 )
# False
print ( not 1000 999 )
# True
print ( not ( 121 121 and 10 == 2 ))
# True
Округление чисел в python
Всё дело в округлении! В python есть несколько замечательных функций, которые округляют число до указанного знака. Одной из таких функций является round :
pi = 3.14159265358979323846264338327
print (round(pi, 1 ))
# 3.1
print (round(pi, 2 ))
# 3.14
print (round(pi, 3 ))
# 3.12
print (round(pi, 4 ))
# 3.1416
print (round(pi, 10 ))
# 3.1415926536
print (round(pi, 15 ))
# 3.141592653589793
Рассмотрим любопытный пример:
print (round( 2.5 ))
# 2
print (round( 3.5 ))
# 4
print (round( 10.51213 ))
# 11
print (round( 23.5 ))
# 24
print (round( 22.5 ))
# 22
Модуль math
Модуль math представляет собой набор математических формул. Рассмотрим несколько примеров:
print ( dir (math))
[‘__doc__’, ‘__loader__’, ‘__name__’, ‘__package__’, ‘__spec__’, ‘acos’,
‘acosh’, ‘asin’, ‘asinh’, ‘atan’, ‘atan2’, ‘atanh’, ‘ceil’, ‘copysign’,
‘cos’, ‘cosh’, ‘degrees’, ‘e’, ‘erf’, ‘erfc’, ‘exp’, ‘expm1’, ‘fabs’,
‘factorial’, ‘floor’, ‘fmod’, ‘frexp’, ‘fsum’, ‘gamma’, ‘gcd’, ‘hypot’,
‘inf’, ‘isclose’, ‘isfinite’, ‘isinf’, ‘isnan’, ‘ldexp’, ‘lgamma’, ‘log’,
‘log10’, ‘log1p’, ‘log2’, ‘modf’, ‘nan’, ‘pi’, ‘pow’, ‘radians’, ‘remainder’,
‘sin’, ‘sinh’, ‘sqrt’, ‘tan’, ‘tanh’, ‘tau’, ‘trunc’]
import math
# Синус 3.14 радиан
print (math. sin ( 3.14 ))
# 0.0015926529164868282
# Косинус 1.1 радиан
print (math. cos ( 1.1 ))
# 0.4535961214255773
# Возведение экспоненты в 3 степень
print (math. exp ( 3 ))
# 20.085536923187668
# Натуральный логарифм 61
print (math. log ( 61 ))
# 4.110873864173311
# Факториал четырех
print (math. factorial ( 4 ))
# 24
# Извлечение квадратного корня
print (math. sqrt ( 9 ))
# 3.0
# Перевод радиан в градусы
print (math. degrees ( 1.572 ))
# 90.06896539456541
И это далеко не всё! Остальные функции я предлагаю вам протестировать самостоятельно : )