stringtranslate.com

atan2

atan2( y , x ) devuelve el ángulo θ entre el eje x positivo y el rayo desde el origen hasta el punto ( x , y ) , confinado a (− π , π ] .
Gráfico de más

En informática y matemáticas , la función atan2 es el arcotangente de 2 argumentos . Por definición, es la medida del ángulo (en radianes , con ) entre el eje positivo y el rayo desde el origen hasta el punto en el plano cartesiano . De manera equivalente, es el argumento (también llamado fase o ángulo ) del número complejo

La función apareció por primera vez en el lenguaje de programación Fortran en 1961. Originalmente estaba destinada a devolver un valor correcto e inequívoco para el ángulo θ al convertir de coordenadas cartesianas ( x , y ) a coordenadas polares ( r , θ ) . Si y , entonces y

Si x > 0 , la medida del ángulo deseado es Sin embargo, cuando x < 0 , el ángulo es diametralmente opuesto al ángulo deseado y se debe sumar ± π (media vuelta ) para colocar el punto en el cuadrante correcto . [1] El uso de la función elimina esta corrección, simplificando el código y las fórmulas matemáticas.

Motivación

Gráfica de la función tangente de − π a + π con los signos correspondientes de y / x . Las flechas verdes apuntan a los resultados de atan2(−1, −1) y atan2(1, 1).

La función arcotangente ordinaria de un solo argumento solo devuelve medidas de ángulos en el intervalo y cuando se invoca para encontrar la medida del ángulo entre el eje x y un vector arbitrario en el plano cartesiano , no existe una forma sencilla de indicar una dirección en la mitad izquierda. -plano (es decir, un punto con ). Las medidas de ángulos diametralmente opuestos tienen la misma tangente porque, por lo tanto, la tangente en sí misma no es suficiente para especificar de forma única un ángulo.

Para determinar la medida de un ángulo utilizando la función arcotangente dado un punto o vector, las fórmulas matemáticas o el código de computadora deben manejar múltiples casos; al menos uno para valores positivos de y otro para valores negativos de y, a veces, casos adicionales cuando es negativo o una coordenada es cero. Encontrar medidas de ángulos y convertir coordenadas cartesianas a polares son comunes en la informática científica, y este código es redundante y propenso a errores.

Para remediar esto, los lenguajes de programación de computadoras introdujeron la función atan2 , al menos ya en el lenguaje Fortran IV de la década de 1960. [2] La cantidad atan2( y , x ) es la medida del ángulo entre el eje x y un rayo desde el origen hasta un punto ( x , y ) en cualquier parte del plano cartesiano. Los signos de xey se utilizan para determinar el cuadrante del resultado y seleccionar la rama correcta de la función multivalor Arctan( y / x ) .

La función atan2 es útil en muchas aplicaciones que involucran vectores euclidianos , como encontrar la dirección de un punto a otro o convertir una matriz de rotación a ángulos de Euler .

La función atan2 ahora se incluye en muchos otros lenguajes de programación y también se encuentra comúnmente en fórmulas matemáticas en toda la ciencia y la ingeniería.

orden de argumento

En 1961, Fortran introdujo la función atan2 con orden de argumentos de modo que el argumento (ángulo de fase) de un número complejo sea. Esto sigue el orden de izquierda a derecha de una fracción escrita de modo que para valores positivos de Sin embargo, esto es lo opuesto a el orden de los componentes convencionales para números complejos, o como coordenadas. Consulte la sección Definición y cálculo.

Algunos otros lenguajes de programación (ver § Realizaciones de la función en lenguajes informáticos comunes) eligieron el orden opuesto. Por ejemplo , Microsoft Excel usa OpenOffice Calc y Mathematica usa el valor predeterminado de arcotangente de un argumento si se llama con un argumento.

Definición y cálculo

La función atan2 calcula el valor principal de la función argumento aplicada al número complejo x + i y . Es decir, atan2( y , x ) = Pr arg( x + i y ) = Arg( x + i y ) . El argumento podría cambiarse por un múltiplo arbitrario de (correspondiente a una vuelta completa alrededor del origen) sin hacer ninguna diferencia en el ángulo, pero para definir atan2 de forma única se utiliza el valor principal en el rango , es decir, π < atan2 ( y , x ) ≤ π .

En términos de la función arctan estándar , cuyo rango es (−π/2, π/2) , se puede expresar de la siguiente manera para definir una superficie que no tiene discontinuidades excepto a lo largo de la línea semiinfinita x<0 y=0:

Una expresión compacta con cuatro semiplanos superpuestos es

La notación entre corchetes de Iverson permite una expresión aún más compacta: [nota 1]

Fórmula sin construcción condicional aparente :

La siguiente expresión derivada de la fórmula del medio ángulo tangente también se puede utilizar para definir atan2 :

de punto flotantex < 0, y = 0y

Una variante de la última fórmula que evita estos errores de redondeo inflados:

La derivación del valor principal del argumento se refiere a esta figura.

Notas:

Derivado

Como la función atan2 es función de dos variables, tiene dos derivadas parciales . En los puntos donde existen estas derivadas, atan2 es, excepto por una constante, igual a arctan( y / x ) . Por lo tanto, para x > 0 o y ≠ 0 ,

Así, el gradiente de atan2 viene dado por

Representar informalmente la función atan2 como la función de ángulo θ ( x , y ) = atan2( y , x ) (que solo se define hasta una constante) produce la siguiente fórmula para el diferencial total :

Si bien la función atan2 es discontinua a lo largo del eje x negativo, lo que refleja el hecho de que el ángulo no se puede definir continuamente, esta derivada se define continuamente excepto en el origen, lo que refleja el hecho de que los cambios infinitesimales (y de hecho locales) en el ángulo se pueden definir en todas partes. excepto el origen. Al integrar esta derivada a lo largo de una trayectoria se obtiene el cambio total de ángulo a lo largo de la trayectoria, y al integrarla en un circuito cerrado se obtiene el número de devanado .

En el lenguaje de la geometría diferencial , esta derivada es una forma única y es cerrada (su derivada es cero) pero no exacta (no es la derivada de una forma 0, es decir, una función), y de hecho genera la primera cohomología de De Rham del plano perforado . Este es el ejemplo más básico de tal forma y es fundamental en geometría diferencial.

Las derivadas parciales de atan2 no contienen funciones trigonométricas, lo que las hace particularmente útiles en muchas aplicaciones (por ejemplo, sistemas integrados) donde las funciones trigonométricas pueden ser costosas de evaluar.

Ilustraciones

atan2 para rayos seleccionados

Esta figura muestra valores de atan2 a lo largo de rayos seleccionados desde el origen, etiquetados en el círculo unitario. Los valores, en radianes, se muestran dentro del círculo. El diagrama utiliza la convención matemática estándar de que los ángulos aumentan en sentido antihorario desde cero a lo largo del rayo hacia la derecha. Tenga en cuenta que el orden de los argumentos se invierte; la función atan2( y , x ) calcula el ángulo correspondiente al punto ( x , y ) .

Comparación de funciones arctan y atan2

Esta figura muestra los valores de junto con para . Ambas funciones son impares y periódicas con períodos y , respectivamente, y por lo tanto pueden complementarse fácilmente en cualquier región de valores reales de . Se pueden ver claramente los cortes de rama de la -función en y de la -función en . [3]

Las dos figuras siguientes muestran vistas en 3D de atan2( y , x ) y arctan( respectivamente).y/X) sobre una región del avión. Tenga en cuenta que para atan2( y , x ) , los rayos en el plano X / Y que emanan del origen tienen valores constantes, pero para arctan(y/X) las líneas en el plano X / Y que pasan por el origen tienen valores constantes. Para x > 0 , los dos diagramas dan valores idénticos.

Identidad de suma y diferencia de ángulos

Las sumas de pueden fusionarse en una sola operación de acuerdo con la siguiente identidad

...siempre que eso .

La prueba implica considerar dos casos, uno donde o y otro donde y .

Sólo consideramos el caso donde o . Para empezar, hacemos las siguientes observaciones:

  1. siempre que o .
  2. , donde está la función de argumento complejo .
  3. siempre , consecuencia de la fórmula de Euler .
  4. .

Para ver (4), tenemos la identidad donde , por lo tanto . Además, dado que para cualquier valor real positivo , entonces si dejamos y entonces tenemos .

De estas observaciones se tienen las siguientes equivalencias:

Corolario : si y son vectores bidimensionales, la fórmula de diferencia se usa con frecuencia en la práctica para calcular el ángulo entre esos vectores con la ayuda de , ya que el cálculo resultante se comporta benigno en el rango y, por lo tanto, puede usarse sin comprobaciones de rango en muchas prácticas. situaciones.

Convenciones este-antihorario, norte y sur, etc.

La función se diseñó originalmente para la convención en matemáticas puras que puede denominarse este en sentido antihorario . Sin embargo, en aplicaciones prácticas, las convenciones en sentido norte y sur suelen ser la norma. En las ciencias atmosféricas, por ejemplo, la dirección del viento se puede calcular utilizando la función con los componentes este y norte del vector del viento como argumentos; [4] el ángulo de azimut solar se puede calcular de manera similar con los componentes este y norte del vector solar como argumentos. La dirección del viento normalmente se define en el sentido norte de las agujas del reloj, y el ángulo del azimut solar utiliza ampliamente las convenciones tanto en el sentido norte como en el sur. [5] Estas diferentes convenciones se pueden realizar intercambiando las posiciones y cambiando los signos de los argumentos x e y de la siguiente manera:

Como ejemplo, sean y , entonces el formato este-antihorario da , el formato norte-horario da y el formato sur-horario da .

Cambiar el signo de los argumentos x y/o y y/o intercambiar sus posiciones puede crear 8 posibles variaciones de la función y, curiosamente, corresponden a 8 posibles definiciones del ángulo, es decir, en sentido horario o antihorario a partir de cada uno de los 4 puntos cardinales , norte, este, sur y oeste.

Realizaciones de la función en lenguajes informáticos comunes.

La realización de la función difiere de un lenguaje informático a otro:

La convención es utilizada por:

Esta definición está relacionada con el concepto de cero con signo .

Ver también

Referencias

  1. ^ "El argumento de un número complejo" (PDF) . Instituto Santa Cruz de Física de Partículas. Invierno 2011.
  2. ^ Organick, Elliott I. (1966). Una imprimación FORTRAN IV . Addison-Wesley. pag. 42. Algunos procesadores también ofrecen la función de biblioteca llamada ATAN2, una función de dos argumentos (opuesto y adyacente).
  3. ^ "Wolf Jung: Mandel, software para dinámicas complejas". www.mndynamics.com . Consultado el 20 de abril de 2018 .
  4. ^ "Referencia rápida de la dirección del viento". Laboratorio de Observación de la Tierra NCAR UCAR.
  5. ^ Zhang, Taiping; Stackhouse, Paul W.; MacPherson, Bradley; Mikovitz, J. Colleen (2021). "Una fórmula del azimut solar que hace innecesario el tratamiento circunstancial sin comprometer el rigor matemático: configuración matemática, aplicación y extensión de una fórmula basada en el punto subsolar y la función atan2". Energía renovable . 172 : 1333-1340. doi : 10.1016/j.renene.2021.03.047 . S2CID  233631040.
  6. ^ "Método Microsoft Excel Atan2". Microsoft.
  7. ^ "LibreOffice Calc ATAN2". Libreoffice.org.
  8. ^ "Funciones y fórmulas: ayuda de editores de documentos". soporte.google.com .
  9. ^ "Lista de funciones trigonométricas de números". Manzana.
  10. ^ "Estándar ANSI SQL: 2008". Teradata. Archivado desde el original el 20 de agosto de 2015.
  11. ^ "CLHS: Función ASIN, ACOS, ATAN". LispWorks.
  12. ^ "Matemáticas · El lenguaje Julia". docs.julialang.org .
  13. ^ "Preguntas frecuentes · El lenguaje Julia". docs.julialang.org .
  14. ^ Manual del desarrollador de software de arquitectura Intel IA-32. Volumen 2A: Referencia del conjunto de instrucciones, AM, 2004.
  15. ^ Hamburguesa, Wilhelm; Burge, Mark J. (7 de julio de 2010). Principios del procesamiento de imágenes digitales: técnicas fundamentales. Medios de ciencia y negocios de Springer. ISBN 978-1-84800-191-6. Consultado el 20 de abril de 2018 a través de Google Books.
  16. ^ Glisson, Tildon H. (18 de febrero de 2011). Introducción al análisis y diseño de circuitos. Medios de ciencia y negocios de Springer. ISBN 9789048194438. Consultado el 20 de abril de 2018 a través de Google Books.

enlaces externos

Otras implementaciones/código para atan2

Notas

  1. ^ Asumiendo las definiciones y para cualquier
  2. ^ Se puede aplicar la periodicidad del resultado para asignarlo a otro rango deseado, por ejemplo, asignar a [0, 2π) sumando a los resultados negativos.