我需要编写一个函数来编写和解决我作为两个数组输入的值的tan的倒数。有时分母上的数组包含零,因此总是会出现除零。我不知道如何摆脱错误并使答案返回pi / 2。
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 :(得分:0)
首先:写xvf [i]和yvf [i]一个接一个地访问数组的单个元素。
其次判断yvf [i]是否等于零:
if yvf[i] == 0:
theta = math.pi/2.0
else:
theta = sp.arctan(xvf[i]/yvf[i])
答案 1 :(得分:0)
如果你导入numpy,我建议使用arctan2而不是arctan(see this doc)。此函数管理第二个参数中的零值。
如果没有,你可以用数学库的atan2函数和zip内置函数来解决这个问题:
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)