【发布时间】:2018-08-19 11:51:53
【问题描述】:
我是 Python 新手,所以请温柔一点。
我真的不知道我的代码有什么问题。
这里是:
import numpy as np
def epsilon(t):
epsilon = (1 - np.exp(-pow(t, 4)))
return epsilon
def r(t):
r = pow( (epsilon(t) - 16) / 4, 1/4)
return r
print(r(0))
由于epsilon(0) = 0,我希望(从分析上)得到 r = (-16/4)^(1/4) = (-1)^(1/4)*sqrt(2) = exp( i pi /4)*sqrt(2) = 1 + 1 i
但是我得到了:
RuntimeWarning: invalid value encountered in double_scalars
r = pow((4 * epsilon(t) - 16) / 4, 1/4)
nan
我试图找出错误。如果我打印epsilon(0),我会得到预期的0,如果我手动设置epsilon(0):
def r(t):
r = pow( 0 - 16) / 4, 1/4)
return r
print(r(0))
我收到1 + 1 j。如果我删除to the power of 1/4,它会起作用,我会得到-4
import numpy as np
def epsilon(t):
epsilon = (1 - np.exp(-pow(t, 4)))
return epsilon
def r(t):
r = (epsilon(t) - 16) / 4
return r
print(r(0))
为什么要这样做
import numpy as np
def epsilon(t):
epsilon = (1 - np.exp(-pow(t, 4)))
return epsilon
def r(t):
r = pow( (epsilon(t) - 16) / 4, 1/4)
return r
print(r(0))
我收到此错误?
【问题讨论】:
-
检查你的第二次尝试:你错过了一个左括号(我认为它只是一个类型)
-
查看stackoverflow.com/questions/3767409/… 了解如何获得更好的错误描述。
标签: python python-3.x numpy