首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Math.atan()返回输入

Math.atan()返回输入
EN

Stack Overflow用户
提问于 2011-03-02 10:02:06
回答 3查看 1.4K关注 0票数 2

我在Math.atan返回与输入相同的值时遇到了问题。

代码语言:javascript
复制
public double inchToMOA( double in, double range){
        double rangeIn = 36*range;
        double atan = (in / rangeIn) * -1.0;
        double deg = Math.atan(atan);
        double moa = deg * 60;
        return moa;
    }

我把所有这些都放在一行中,但我将其分解为不同的变量,看看是否可以找出它不起作用的原因。如果in = -10,range = 300,则atan约为-.00094。角度应该约为-.053度,但math.atan返回的是-.00094,与输入的角度相同。

我的数字对于math.atan来说太小了吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-02 10:05:24

逆切线如下所示:

http://mathworld.wolfram.com/InverseTangent.html

我认为你的论点不是问题所在。

当然,你知道计算机的触发函数是以弧度而不是度为单位的,对吧?

票数 3
EN

Stack Overflow用户

发布于 2011-03-02 10:06:11

可能就是这样。如果你看数学中对正切函数的严格定义,你会看到,对于"x“的小值,tan(x) = sin(x)/cos(x)

代码语言:javascript
复制
lim x->0, sin(x) = x
lim x->0, cos(x) = 1

因此,您可以看到,lim x->0, tan(x) -> x表示它是反转的,arctan返回给它的值。至于Math.atan的数值精度,我认为作者已经花了很大的力气来确保它的数值精度。

票数 1
EN

Stack Overflow用户

发布于 2011-03-02 10:07:21

Math.atan没有任何问题。对于接近零的输入,它的值几乎是1:1线性的,与原点相交。因此,你越接近于零,输入的变化就越小。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5162636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档