numpy.atan2#

numpy.atan2(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, сигнатура]) = 'arctan2'>#

Поэлементный арктангенс x1/x2 Довольно часто новые массивы должны создаваться из кода модуля расширения. Возможно, требуется выходной массив, и вы не хотите, чтобы вызывающая сторона должна была его предоставить. Возможно, нужен только временный массив для хранения промежуточных вычислений. Независимо от потребности существуют простые способы получения объекта ndarray любого необходимого типа данных. Наиболее общая функция для этого —

Квадрант (т.е., ветвь) выбирается так, что 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, они должны быть транслируемы к общей форме (которая становится формой вывода).

выходndarray, None или кортеж из ndarray и None, опционально

Место для сохранения результата. Если предоставлено, оно должно иметь форму, в которую транслируются входные данные. Если не предоставлено или None, возвращается вновь выделенный массив. Кортеж (возможен только как ключевой аргумент) должен иметь длину, равную количеству выходов.

гдеarray_like, необязательный

Это условие транслируется на вход. В местах, где условие истинно, выход массив будет установлен в результат ufunc. В других местах выход массив сохранит своё исходное значение. Обратите внимание, что если неинициализированный выход массив создается через стандартный out=None, позиции внутри неё, где условие ложно, останутся неинициализированными.

**kwargs

Для других аргументов, доступных только по ключевым словам, смотрите документация ufunc.

Возвращает:
уголndarray

Массив углов в радианах, в диапазоне [-pi, pi]. Это скаляр, если оба x1 и x2 являются скалярами.

Смотрите также

arctan, tan, angle

Примечания

arctan2 идентичен atan2 функция базовой библиотеки C. Следующие специальные значения определены в стандарте C: [1]

x1

x2

arctan2(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».

Примеры

Рассмотрим четыре точки в разных квадрантах:

>>> import numpy as np
>>> 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])