在Python中使用math.sqrt的数学域错误

时间:2017-07-13 10:15:24

标签: python-3.x math math.sqrt

我有一个计算平方根的for循环但是对于某些迭代(即对于Pos1的某些值),平方根下的表达式是负的,因此在真实域中无法计算平方根并且Python返回" ValueError:数学域错误"整个循环。相反,我希望它尽可能地进行计算(当平方根下的表达式为正)时,否则,打印一些消息,例如"无法计算sqrt"对于那些值为负的迭代。

for i in range(len(Pos1)):
    theta3_1=math.sqrt(1-math.pow(((math.pow((x3-2*Pos1[0][i]),2)+math.pow((y3-2*Pos1[1][i]),2)-math.pow(L[1],2)-math.pow(L[2],2))/(2*L[1]*L[2])),2))

0 个答案:

没有答案