Numpy中關(guān)于arctan和arctan2的區(qū)別
Numpy中arctan和arctan2的區(qū)別
arctan
import numpy as np np.arctan(x1/x2)
- arctan是tan的反函數(shù), 輸入標量(可以是一個數(shù),比如5)或者數(shù)組,輸出標量或者數(shù)組.輸入正切值,輸出對應(yīng)弧度。
- arctan的值域是[−π/2 , π/2]
arctan2
import numpy as np np.arctan2(x1/x2)
1.arctan2的輸入不僅僅是正切值,而是要輸入兩個數(shù)x1和x2(比如兩個坐標值)或者是兩者的數(shù)組,正切值是兩者的比值x1/x2
2.arctan2的值域是[−π, π]因為可以根據(jù)x1和x2來確定點落在哪個象限
共同點
都能夠求反正切值
區(qū)別
- 兩者輸入不同, arctan僅僅輸入正切值,arctan2要輸入對邊和直角邊的具體數(shù)值,用來確定象限
- 兩者的值域不同,arctan的值域是[−π/2 , π/2], arctan2的值域是[−π , π]
math模塊下atan和atan2的區(qū)別
atan 和 atan2 都是反正切函數(shù),返回的都是弧度
對于兩點形成的直線,兩點分別是 point(x1,y1) 和 point(x2,y2),其斜率對應(yīng)角度的計算方法可以是:
angle = atan( (y2-y1)/(x2-x1) )
或
angle = atan2( y2-y1, x2-x1 )
因此可以看出 atan 和 atan2 的區(qū)別:
1、參數(shù)的個數(shù)不同;atan 為單個參數(shù),atan2為兩個參數(shù)
2、atan2 的優(yōu)點在于: 如果 x2-x1等于0 ,角度依然可以計算,但是atan函數(shù)則需要提前判斷,否則就會導致程序出錯;
結(jié)論: atan 和 atan2函數(shù),建議用 atan2函數(shù);
注意:
1、兩者返回值都是弧度;
2、atan2函數(shù)參數(shù)是y在前,x在后;
3、需要先導入math庫
下面再根據(jù)幾個實例來看一下它們的用法和區(qū)別
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 #弧度轉(zhuǎn)角度 b=math.atan2(1,0) print(b/math.pi*180) >> 90.0
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
pandas.DataFrame.from_dict直接從字典構(gòu)建DataFrame的方法
本文主要介紹了pandas.DataFrame.from_dict直接從字典構(gòu)建DataFrame的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-06-06Python使用Windows API創(chuàng)建窗口示例【基于win32gui模塊】
這篇文章主要介紹了Python使用Windows API創(chuàng)建窗口操作,結(jié)合實例形式分析了Python基于win32gui模塊調(diào)用Windows API創(chuàng)建窗口具體操作步驟與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2018-05-05關(guān)于Tensorflow和Keras版本對照及環(huán)境安裝
這篇文章主要介紹了關(guān)于Tensorflow和Keras版本對照及環(huán)境安裝方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08Python中模塊(Module)和包(Package)的區(qū)別詳解
這篇文章主要介紹了Python中模塊(Module)和包(Package)的區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08