首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >numpy arctan2错误或使用问题?

numpy arctan2错误或使用问题?
EN

Stack Overflow用户
提问于 2012-11-09 13:05:17
回答 1查看 3.9K关注 0票数 3

我正在将Excel电子表格中的一些函数转换为python。我需要使用atan2,根据numpy文档:arctan2,它是arctan2。问题是,这两个结果甚至不接近:

代码语言:javascript
运行
AI代码解释
复制
oc = 23.4384863405
sal = 89.7814630647
sra = np.arctan2(np.cos(np.deg2rad(sal)),
         np.cos(np.deg2rad(oc))*np.sin(np.deg2rad(sal)))
results: Excel = 1.566714757 Numpy = 0.00415720646  ??

我相信Excel的结果是正确的。这是麻木是错误的。

现在要么是我没有正确使用arctan2,要么是numpy中的atan2不是arctan2,或者是numpy中有一个bug,或者我在这里完全迷失了方向。

我使用的是python版本2.7.2和numpy 1.6.2

有什么想法吗?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-09 13:18:06

Excel docs

ATAN2函数的语法为:

ATAN2( x坐标,y坐标)

numpy docs

numpy.arctan2(x1,x2,out)

正确选择象限的x1/x2的逐元素圆弧切线。

选择象限(即分支),使arctan2(x1,x2)是在原点结束并通过点(1,0)的光线与在原点结束并通过点(x2,x1)的光线之间以弧度表示的有符号角度。(注意角色颠倒:“y坐标”是第一个函数参数,“x坐标”是第二个参数。)

他们以相反的顺序处理他们的论点。因此:

代码语言:javascript
运行
AI代码解释
复制
In [31]: arctan2(cos(deg2rad(sal)), cos(deg2rad(oc))*sin(deg2rad(sal)))
Out[31]: 0.0041572064598812417

In [32]: arctan2(cos(deg2rad(oc))*sin(deg2rad(sal)), cos(deg2rad(sal)))
Out[32]: 1.5666391203350154
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13308639

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文