Синус в питоне как написать
Перейти к содержимому

Синус в питоне как написать

Тригонометрические функции модуля math.

Функция math.sin() возвращает синус угла x значение которого задано в радианах.

math.cos(x) :

Функция math.cos() возвращает косинус угла x значение которого задано в радианах.

math.tan(x) :

Функция math.tan() возвращает тангенс угла x значение которого задано в радианах.

При определенных значениях углов тангенс должен быть равен либо −∞ либо +∞ , скажем tan(3π/2)=+∞ , a tan(−π/2)=−∞ , но вместо этого мы получаем либо очень большие либо очень маленькие значения типа float :

math.asin(x) :

Функция math.asin() возвращает арксинус значения x , т. е. такое значение угла y , выраженного в радианах при котором sin(y) = x .

math.acos(x) :

Функция math.acos() возвращает арккосинус значения x , т. е. возвращает такое значение угла y , выраженного в радианах, при котором cos(y) = x .

math.atan(x) :

Функция math.atan() возвращает арктангенс значения x , т. е. возвращает такое значение угла y , выраженного в радианах, при котором tan(y) = x .

math.atan2(y, x) :

Функция math.atan2() возвращает арктангенс значения y/x , т. е. возвращает такое значение угла z , выраженного в радианах, при котором tan(z) = x . Результат находится между -pi и pi .

Данная функция, в отличие от функции 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

Эта статья посвящена математическим функциям в Python. Для выполнения математических операций необходим модуль math .

Что такое модуль?

В C и C++ есть заголовочные файлы, в которых хранятся функции, переменные классов и так далее. При включении заголовочных файлов в код появляется возможность не писать лишние строки и не использовать одинаковые функции по несколько раз. Аналогично в Python для этого есть модули, которые включают функции, классы, переменные и скомпилированный код. Модуль содержит группу связанных функций, классов и переменных.

  1. Модули, написанные на Python ( .py ).
  2. Модули, написанные на C и загружаемые динамически ( .dll , .pyd , .so , .sl и так далее).
  3. Модули, написанные на C , но связанные с интерпретатором.

Для получения списка модулей, написанных на C , но связанных с Python, можно использовать следующий код.

Как видно из списка выше, модуль math написан на C , но связан с интерпретатором. Он содержит математические функции и переменные, о которых дальше и пойдет речь.

Функции представления чисел

ceil() и floor() — целая часть числа

Сeil() и floor() — функции общего назначения. Функция ceil округляет число до ближайшего целого в большую сторону. Функция floor убирает цифры десятичных знаков. Обе принимают десятичное число в качестве аргумента и возвращают целое число.

Пример:

Функция fabs() — абсолютное значение

Функция fabs используется для вычисления абсолютного значения числа. Если число содержит любой отрицательный знак ( — ), то функция убирает его и возвращает положительное дробное число.

Пример:

factorial() — функция факториала

Эта функция принимает положительное целое число и выводит его факториал.

Пример:

Примечание: при попытке использовать отрицательное число, возвращается ошибка значения ( Value Error ).

Пример:

Функция fmod() — остаток от деления

Функция fmod(x,y) возвращает x % y . Разница в том, что выражение x % y работает только с целыми числами, а эту функцию можно использовать и для чисел с плавающей точкой.

Пример:

Функция frexp()

Эта функция возвращает мантиссу и показатель степени в виде пары ( m,n ) любого числа x , решая следующее уравнение.

Функция 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 есть следующие тригонометрические функции.

Функция Значение
sin принимает радиан и возвращает его синус
cos принимает радиан и возвращает его косинус
tan принимает радиан и возвращает его тангенс
asin принимает один параметр и возвращает арксинус (обратный синус)
acos принимает один параметр и возвращает арккосинус (обратный косинус)
atan принимает один параметр и возвращает арктангенс (обратный тангенс)
sinh принимает один параметр и возвращает гиперболический синус
cosh принимает один параметр и возвращает гиперболический косинус
tanh принимает один параметр и возвращает гиперболический тангенс
asinh принимает один параметр и возвращает обратный гиперболический синус
acosh принимает один параметр и возвращает обратный гиперболический косинус
atanh принимает один параметр и возвращает обратный гиперболический тангенс

Пример:

Функция преобразования углов

Эти функции преобразуют угол. В математике углы можно записывать двумя способами: угол и радиан. Есть две функции в Python, которые конвертируют градусы в радиан и обратно.

Модуль Math в Python

P ython библиотека math содержит наиболее применяемые математические функции и константы. Все вычисления происходят на множестве вещественных чисел.

Если вам нужен соответствующий аппарат для комплексного исчисления, модуль math не подойдёт. Используйте вместо него cmath . Там вы найдёте комплексные версии большинства популярных math -функций.

Синтаксис и подключение

Чтобы подключить модуль, необходимо в начале программы прописать следующую инструкцию:

Теперь с помощью точечной нотации можно обращаться к константам и вызывать функции этой библиотеки. Например, так:

Константы модуля Math

math.pi Представление математической константы π = 3.141592…. "Пи" — это отношение длины окружности к её диаметру.

math.e Число Эйлера или просто e . Иррациональное число, которое приблизительно равно 2,71828.

math.tau Число τ — это отношение длины окружности к её радиусу. Т.е

math.inf Положительная бесконечность.

Для оперирования отрицательной бесконечно большой величиной, используйте -math.inf

Константа math.inf эквивалента выражению float("inf") .

math.nan NaN означает — "не число".

Аналогичная запись: float("nan") .

Список функций

Теоретико-числовые функции и функции представления

math.ceil() Функция округляет аргумент до большего целого числа.

math.comb(n, k) Число сочетаний из n по k . Показывает сколькими способами можно выбрать k объектов из набора, где находится n объектов. Формула:

Решим задачу : На столе лежат шесть рубинов. Сколько существует способов выбрать два из них?

�� Можете подставить числа в формулу, и самостоятельно проверить правильность решения.

math.copysign() Функция принимает два аргумента. Возвращает первый аргумент, но со знаком второго.

print(math.copysign(-6, 2)) > 6.0

math.fabs() Функция возвращает абсолютное значение аргумента:

math.factorial() Вычисление факториала. Входящее значение должно быть целочисленным и неотрицательным.

math.floor() Антагонист функции ceil() . Округляет число до ближайшего целого, но в меньшую сторону.

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 — минимально допустимая разница.

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() Возвращает целочисленный квадратный корень аргумента, округлённый вниз.

math.ldexp(x, i) Функция возвращает значение по формуле:

возвращаемое значение = x * (2 ** i) print(math.ldexp(3, 2)) > 12.0

math.modf() Результат работы modf() — это кортеж из двух значений:

  1. Дробная часть аргумента;
  2. Целая часть аргумента;

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() вернёт вам целую часть переданного в неё аргумента.

Степенные и логарифмические функции

math.exp(x) Возвращает e в степени x . Более точный аналог pow(math.e, x) .

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 ):

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 и возвращает затем вещественный результат.

Возведение в степень в Python

math.sqrt() Возврат квадратного корня из аргумента

Как извлечь корень в Python?

Тригонометрические функции

math.acos() Функция возвращает арккосинус в радианах:

math.asin() Возврат арксинуса (угол в радианах):

# π/2 print(math.asin(1)) > 1.5707963267948966

# π/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() Косинус угла, который следует указывать в радианах:

math.dist(p, q) Функция возвращает значение евклидова расстояния между точками p и q . У точек должны совпадать измерения. В прямоугольной системе координат dist(p, q) эквивалентна следующей формуле:

math.hypot(x, y) Возвращает длину вектора от начала координат до точки, заданной координатами. Иначе — функция вычисляет гипотенузу треугольника c катетами x и y .

print(math.hypot(3, 4)) > 5.0

math.sin() Функция вернёт синус угла. Угол следует задавать в радианах:

math.tan() Тангенс угла. Аргумент указываем в радианах.

Угловые преобразования

math.degrees() Функция переводит радианное значение угла в градусы.

math.radians() Наоборот: из градусов — в радианы.

# функция отрабатывает прямо, как по табличке синусов =) print(math.radians(30)) > 0.5235987755982988 print(math.pi / 6) > 0.5235987755982988

Гиперболические функции

Гиперболические функции являются аналогами тригонометрических и тесно с ними связаны. Но тригонометрические функции основаны на окружностях, а гиперболические, соответственно, на гиперболах.

Для Python все они принимают один аргумент — точку, в которой вычисляется значение функции.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *