valor incorrecto de la función atan2 en excel

valor incorrecto de la función atan2 en excel

Estoy tratando de calcular el ángulo entre dos latitudes y longitudes, pero obtengo un resultado incorrecto atan2(X,Y)cuando lo uso en Excel.

β = atan2(X,Y) = atan2(0.05967668696, -0.00681261948)

Debería ser 1,68 radianes (96,51°) pero en Excel muestra -0,113666736 (-6,512624235°)

β = atan2(X,Y),

donde X e Y son dos cantidades y se pueden calcular como:

  • X =cos θb * sin ∆L
  • Y =cos θa * sin θb – sin θa * cos θb * cos ∆L

    Latitud/Longitud(1): (Lat1,Lon1)= 39.099912, -94.581213

    Latitud/Longitud(2): (Lat2,Lon2)= 38.627089, -90.200203

    ‘L’            be the longitude,
    ‘∆L=lon2-lon1’ be the difference of longitude,
    ‘θ’            be latitude,
    ‘β‘            be Bearing
    

Respuesta1

El problema es que excel usa la función Atan2(y,X) en lugar de (x, y). En C, Atan2 usa parámetros (X,y) que te dará la respuesta que esperabas. Simplemente cambie sus parámetros.

Unos buenos seis años tarde en la respuesta, pero espero que alguien encuentre esto útil jajaja.

Respuesta2

  1. La función en Excel no tiene nada de malo atan2(X,Y): el punto que ha especificado '(0,05967668696, -0,00681261948)' se encuentra en el cuarto cuadrante, es decir, su ángulo es en realidad '-6,51°'.

  2. Pero si quieres calcular un valor 'absoluto' de ángulo entre dos puntos geográficos, debes usar una diferencia absoluta entre coordenadas:

      β=ATAN2(ABS(0.05967668696), ABS(-0.00681261948))
    
  3. Tenga en cuenta que si este cálculo es sobre una esfera (La Tierra), es una aproximación debido a que es un triángulo circular. Está bien para ángulos pequeños.

información relacionada