2016-01-30 64 views
1

我需要編寫一個函數,它可以寫入並求解作爲兩個數組輸入的值的tan的倒數。有時分母上的數組包含零,因此總是除零。我不知道如何擺脫錯誤,並讓答案返回pi/2。函數來計算和繪製arctanx

def deviation(x): 

if capture(x)==True: 
for i in range(len(yvf)): 
      theta=sp.arctan(xvf/yvf) #xvf and yvf are two arrays 

回答

0

首先:寫xvf命令[i]和YVF [I]來訪問陣列的單個元件一個接一個。

其次辨別如果YVF [I]等於零與否:

if yvf[i] == 0: 
    theta = math.pi/2.0 
else: 
    theta = sp.arctan(xvf[i]/yvf[i]) 
0

如果導入numpy的,我建議使用arctan2代替反正切(see this doc)。該函數在第二個參數中管理零值。

如果沒有,你可以用數學庫和zip內置功能ATAN2功能解決了這個問題:

import math 

xvf = [0.,2.,2.] 
yvf = [20.,0.,2.] 

def arctan(xvf,yvf): 
    return [math.atan2(x,y) for x,y in zip(xvf,yvf)] 

print arctan(xvf,yvf)