Numpy中关于arctan和arctan2的区别
作者:花生是豆类
这篇文章主要介绍了Numpy中关于arctan和arctan2的区别,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
Numpy中arctan和arctan2的区别
arctan
import numpy as np np.arctan(x1/x2)
- arctan是tan的反函数, 输入标量(可以是一个数,比如5)或者数组,输出标量或者数组.输入正切值,输出对应弧度。
- arctan的值域是[−π/2 , π/2]
arctan2
import numpy as np np.arctan2(x1/x2)
1.arctan2的输入不仅仅是正切值,而是要输入两个数x1和x2(比如两个坐标值)或者是两者的数组,正切值是两者的比值x1/x2
2.arctan2的值域是[−π, π]因为可以根据x1和x2来确定点落在哪个象限
共同点
都能够求反正切值
区别
- 两者输入不同, arctan仅仅输入正切值,arctan2要输入对边和直角边的具体数值,用来确定象限
- 两者的值域不同,arctan的值域是[−π/2 , π/2], arctan2的值域是[−π , π]
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
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。