неправильное значение функции atan2 в excel

неправильное значение функции atan2 в excel

Я пытаюсь вычислить угол между двумя широтами и долготами, но получаю неверный результат atan2(X,Y)при использовании в Excel.

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

Должно быть 1,68 радиан (96,51°), но в Excel отображается -0,113666736 (-6,512624235°)

β = atan2(X,Y),

где X и Y — две величины, которые можно рассчитать как:

  • Х =cos θb * sin ∆L
  • У =cos θa * sin θb – sin θa * cos θb * cos ∆L

    Широта/Долгота(1): (Lat1,Lon1)= 39.099912, -94.581213

    Широта/Долгота(2): (Lat2,Lon2)= 38.627089, -90.200203

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

решение1

Проблема в том, что Excel использует функцию Atan2(у,Икс) вместо (x, y). В C Atan2 использует параметры (Икс,у) который даст вам ожидаемый ответ. Просто поменяйте параметры.

Ответ опоздал лет на шесть, но надеюсь, кому-то это пригодится, лол.

решение2

  1. С функцией в Excel все в порядке atan2(X,Y): указанная вами точка «(0,05967668696, -0,00681261948)» лежит в четвертом квадранте, т.е. ее угол на самом деле равен «-6,51°».

  2. Но если вы хотите вычислить «абсолютное» значение угла между двумя географическими точками, вам следует использовать абсолютную разность между координатами:

      β=ATAN2(ABS(0.05967668696), ABS(-0.00681261948))
    
  3. Имейте в виду, что если этот расчет выполняется на сфере (Земля), то это приближение из-за кругового треугольника. Это нормально для малых углов.

Связанный контент