numpy.arctan2#
-
numpy.arctan2(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 являются скалярами.
Примечания
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])