python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Numpy中arctan和arctan2的区别

Numpy中关于arctan和arctan2的区别

作者:花生是豆类

这篇文章主要介绍了Numpy中关于arctan和arctan2的区别,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Numpy中arctan和arctan2的区别

arctan

import numpy as np
np.arctan(x1/x2)

arctan2

import numpy as np
np.arctan2(x1/x2)

1.arctan2的输入不仅仅是正切值,而是要输入两个数x1和x2(比如两个坐标值)或者是两者的数组,正切值是两者的比值x1/x2

2.arctan2的值域是[−π, π]因为可以根据x1和x2来确定点落在哪个象限

共同点

都能够求反正切值

区别

math模块下atan和atan2的区别

atan 和 atan2 都是反正切函数,返回的都是弧度

对于两点形成的直线,两点分别是 point(x1,y1) 和 point(x2,y2),其斜率对应角度的计算方法可以是:

angle = atan( (y2-y1)/(x2-x1) )

angle = atan2( y2-y1, x2-x1 )

因此可以看出 atan 和 atan2 的区别:

1、参数的个数不同;atan 为单个参数,atan2为两个参数

2、atan2 的优点在于: 如果 x2-x1等于0 ,角度依然可以计算,但是atan函数则需要提前判断,否则就会导致程序出错;

结论: atan 和 atan2函数,建议用 atan2函数;

注意:

1、两者返回值都是弧度;

2、atan2函数参数是y在前,x在后;

3、需要先导入math库

下面再根据几个实例来看一下它们的用法和区别

import math
a=math.atan(1)
b=math.atan2(1,1)
print(a,b)
>> 0.7853981633974483 0.7853981633974483
#垂直时
b=math.atan2(1,0)
print(b)
>> 1.5707963267948966
#弧度转角度
b=math.atan2(1,0)
print(b/math.pi*180)
>> 90.0

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文