Метод Python atan2(y, x) определен в математическом модуле, который используется для нахождения арктангенса y/x в радианах.
В терминах atan() мы можем связать это как atan(y/x), где y и x — числовые значения. Мы можем использовать математический модуль, импортировав его. После импорта мы вызываем эту функцию, используя статический объект. Он возвращает арктангенс двух переданных числовых параметров в виде y/x.
Что такое функция atan2() в Python?
Python atan2() — это встроенная тригонометрическая функция, которая возвращает значение atan(y/x) в радианах. Метод atan2() возвращает числовое значение между – и представляющий угол
точки(x, y) и положительной оси x.
Синтаксис
|
1 |
math.atan2(y,x) |
Параметры
Он принимает два параметра, оба из которых имеют числовой тип данных; любой другой тип данных неприемлем, если в качестве параметра передается любой другой тип данных; выдает ошибку типа.
Возвращаемое значение
Возвращает значение арктангенса числа в типе данных float.
- X: Это может быть число или допустимое числовое выражение, представляющее декартову координату X.
- Y: Это может быть число или допустимое числовое выражение, представляющее декартову координату Y.
Пример:
|
1 2 3 4 |
import math x = 0.35 y = 3.25 print(math.atan2(y, x)) |
Выход:
|
1 2 |
python3 app.py 1.4635174711464938 |
Примеры программ для метода atan2() в Python
- Пример 1. Напишем программу, демонстрирующую работу метода atan2() в Python.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import math x1 = 0.32 y1 = 4.33 x2 = 33.52 y2 = 55.34 x3 = 23.22 y3 = 33.11 print("x1= ", x1, "y1= ", y1, "arc= ", math.atan2(y1, x1)) print("x2= ", x2, "y2= ", y2, "arc= ", math.atan2(y2, x2)) print("x3= ", x3, "y3= ", y3, "arc= ", math.atan2(y3, x3)) |
Выход:
|
1 2 3 |
x1= 0.32 y1= 4.33 arc= 1.4970274295011163 x2= 33.52 y2= 55.34 arc= 1.0261887579183147 x3= 23.22 y3= 33.11 arc= 0.9591992824866347 |
В этом примере мы видели, что, передавая два параметра(x, y) для разных примеров, мы получаем желаемое решение метода atan2(), которое является дугой.
- Пример 2. Напишем программу для передачи значения любого другого типа данных в функцию atan2() и отображения вывода.
|
1 2 3 4 5 |
import math x1 = 0.32 y1 = 'a' print("arc= ", math.atan2(y1, x1)) |
Выход:
|
1 |
TypeError: must be real number, not str |
В этом примере мы попытались передать параметр, который не является реальным числом, и из-за этого программа выдает ошибку о том, что число должно быть реальным, а не строковым.
Python atan2() со списком и кортежем
См. следующий код.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# app.py import math Tup =(11, 21, 3, -46, 5) Lis = [-11, 21, -3.5, -46, 5] print('Tangent value of Positive Number = %.2f' % math.atan2(2, 4)) print('Tangent value of Negative Number = %.2f' % math.atan2(-1, 6)) print('Tangent value of Tuple Item = %.2f' % math.atan2(Tup[3], Tup[2])) print('Tangent value of List Item = %.2f' % math.atan2(Lis[2], Lis[4])) print('Tangent value of Multiple Number = %.2f' % math.atan2(2 + 7 - 4, 9-5)) print('Tangent value of String Number = %.2f', math.atan2('Hello', 'Python')) |
Выход:
|
1 2 3 4 5 6 7 8 9 10 |
python app.py Tangent value of Positive Number = 0.46 Tangent value of Negative Number = -0.17 Tangent value of Tuple Item = -1.51 Tangent value of List Item = -0.61 Tangent value of Multiple Number = 0.90 Traceback(most recent call last): File "app.py", line 14, in <module> print('Tangent value of String Number = %.2f', math.atan2('Hello', 'Python')) TypeError: a float is required |
Если вы передадите строку функции atan2(), она выдаст ошибку TypeError, которая говорит: требуется число с плавающей запятой.
