我正在尝试用边界条件求解一个ode方程。问题是我有一个squareroot会产生警告" RuntimeWarning:在sqrt"中遇到无效值。
def F(x,y):
F = np.zeros(1)
F[0] =1/(2*(1-c**2)*y[0])*(-1+c*np.sqrt(1-(c**2*(1-c**2) *(y[0])**4)/(x**2)))
return F
我的猜测是sqrt假设y [0] ^ 4是某个值,使得squareroot内的值为负,但我不知道如果是这样的话如何修复它