atan2 函数在 javascript 和 Excellsheet 中的行为不同

Posted

技术标签:

【中文标题】atan2 函数在 javascript 和 Excellsheet 中的行为不同【英文标题】:atan2 function behaves different in javascript and excellsheet 【发布时间】:2012-05-23 10:25:00 【问题描述】:

我正在尝试 atan2 数学函数,但我在 google excel 表中得到了错误的值。但在 javascript atan2 函数中获得正确的值。如何在 excelsheet 中获得该值?

我在excel中的值是

atan2(8.6,2.7699)=0.3115

在 javascript 中是

atan2(8.6,2.7699)=1.259206466337312

我在这里检查了 javascript 值 http://www.univie.ac.at/moe/rechner/rechner.html

谁能说出为什么会这样?

如果我想在 excel 中使用这个值,那么我应该使用什么公式?

【问题讨论】:

【参考方案1】:

在 Microsoft Excel 中,atan2 函数以相反的顺序获取参数,而 Google Docs 为保持一致性而做同样的事情。如果你翻转 javascript 中的参数,你会得到相同的“错误”值。

【讨论】:

【参考方案2】:

atan2 在 Excel 中的函数签名是 ATAN2(x_num, y_num),而在 Javascript 中是 Math.atan2(y,x)。注意参数的顺序。

如果您以适当的顺序提供参数,他们应该都会给出大致相同的答案。

【讨论】:

【参考方案3】:

Excel 的 ATAN2 需要 x 坐标,后跟 y 坐标 ATAN2(x,y) 但 JavaScript ATAN2 的参数颠倒了:ATAN2(y,x)

【讨论】:

以上是关于atan2 函数在 javascript 和 Excellsheet 中的行为不同的主要内容,如果未能解决你的问题,请参考以下文章

反正切函数atan与atan2的区别

资产监测设备中如何利用Sqrt和atan2函数计算定位角度

atan2 pow

Python atan2() 函数

c++ SSE内在函数atan2

atan2 vs atan