Spec-Zone.ru › NumPy 1.16

numpy.arctan2

numpy.arctan2(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = <ufunc 'arctan2'>

Элемент-но-wise арктангенс от x1/x2 с правильным выбором квадранта.

Квадрант (т. е. ветвь) выбирается так, что arctan2(x1, x2) — это подписанный угол в радианах между лучом, заканчивающимся в начале координат и проходящим через точку (1,0), и лучом, заканчивающимся в начале координат и проходящим через точку (x2, x1). (Обратите внимание на перестановку ролей: «y-координата» — это первый параметр функции, «x-координата» — второй.) По соглашению IEEE эта функция определена для x2 = +/-0 и для любой или обеих x1 и x2 = +/-inf (см. Примечания для конкретных значений).

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

Параметры:
x1 : array_like, real-valued

y-координаты.

x2 : array_like, real-valued

x-координаты. x2 должно быть совместимо для трансляции с формой x1 или наоборот.

out : ndarray, None, or tuple of ndarray and None, optional

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

where : array_like, optional

Значения True указывают на то, что необходимо вычислить ufunc в этом положении, значения False — на то, чтобы оставить значение в выводе в покое.

**kwargs

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

Возвращает:
angle : 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] (1, 2) Стандарт 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–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.15.4/reference/generated/numpy.arctan2.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API