numpy.atan2
- numpy.atan2(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature])=<ufunc 'arctan2'>
-
Элементная арктангенс
x1/x2с правильным выбором квадранта.Квадрант (т.е. ветвь) выбирается так, чтобы
arctan2(x1, x2)был подписанным углом в радианах между лучом, заканчивающимся в начале координат и проходящим через точку (1,0), и лучом, заканчивающимся в начале координат и проходящим через точку (x2,x1). (Обратите внимание на перестановку ролей: «y-координата» является первым параметром функции, «x-координата» — вторым.) Согласно соглашению IEEE, эта функция определена дляx2= +/-0 и для любого или обоих изx1иx2= +/-inf (см. Примечания для конкретных значений).Эта функция не определена для аргументов со значениями комплексного типа; для так называемого аргумента комплексных значений используйте
angle.- Параметры:
-
- x1array_like, действительное значение
-
y-координаты. - x2array_like, действительное значение
-
x-координаты. Еслиx1.shape != x2.shape, они должны быть совместимы для трансляции в общую форму (которая становится формой результата). - outndarray, None или кортеж из ndarray и None, необязательно
-
Расположение, в которое записывается результат. Если указано, оно должно иметь форму, к которой вводятся данные. Если не указано или равно None, возвращается только что выделенный массив. Кортеж (возможен только в качестве ключевого аргумента) должен иметь длину, равную количеству выходов.
- wherearray_like, необязательно
-
Это условие транслируется по вводу. В местах, где условие истинно,
outмассив будет установлен на результат ufunc. В противном случаеoutмассив сохранит свое исходное значение. Обратите внимание, что еслиoutмассив создается с помощью значения по умолчаниюout=None, места в нем, где условие ложно, останутся неинициализированными. - **kwargs
-
Для других ключевых аргументов см. документацию ufunc.
- Возвращаемое значение:
-
- anglendarray
-
Массив углов в радианах, в диапазоне
[-pi, pi]. Это скаляр, еслиx1иx2являются скалярами.
Примечания
arctan2 идентичен функции
atan2базовой библиотеки C. В стандарте C определены следующие специальные значения: [1]x1x2arctan2(x1,x2)+/- 0
+0
+/- 0
+/- 0
-0
+/- pi
> 0
+/-inf
+0 / +pi
< 0
+/-inf
-0 / -pi
+/-inf
+inf
+/- (pi/4)
+/-inf
-inf
+/- (3*pi/4)
Обратите внимание, что +0 и -0 — это различные числа с плавающей точкой, как и +inf и -inf.
Ссылки
[1]Стандарт ISO/IEC 9899:1999, «Язык программирования C».
Примеры
Рассмотрим четыре точки в разных квадрантах:
>>> x = np.array([-1, +1, +1, -1]) >>> y = np.array([-1, -1, +1, +1]) >>> np.arctan2(y, x) * 180 / np.pi array([-135., -45., 45., 135.])
Обратите внимание на порядок параметров.
arctan2также определен, когдаx2= 0 и в нескольких других специальных точках, получая значения в диапазоне[-pi, pi]:>>> np.arctan2([1., -1.], [0., 0.]) array([ 1.57079633, -1.57079633]) >>> np.arctan2([0., 0., np.inf], [+0., -0., np.inf]) array([0. , 3.14159265, 0.78539816])
© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.atan2.html