Python 避免零位错误
我正在写一个代码,为参数k和l的不同值寻找多项式的根。除了参数等于零时,此代码工作正常 我的方法是将零偏移到一个较小的数字(如下所示),但这有缺点Python 避免零位错误,python,zero,divide-by-zero,Python,Zero,Divide By Zero,我正在写一个代码,为参数k和l的不同值寻找多项式的根。除了参数等于零时,此代码工作正常 我的方法是将零偏移到一个较小的数字(如下所示),但这有缺点 xlist = np.linspace(-n_steps*step_size,near_0,n_steps+1) xlist=np.append(xlist,np.linspace(step_size,n_steps*step_size,n_steps)) ylist = np.linspace(-n_steps*step_size,near_0,n
xlist = np.linspace(-n_steps*step_size,near_0,n_steps+1)
xlist=np.append(xlist,np.linspace(step_size,n_steps*step_size,n_steps))
ylist = np.linspace(-n_steps*step_size,near_0,n_steps+1)
ylist=np.append(ylist,np.linspace(step_size,n_steps*step_size,n_steps))
for k_i,k in enumerate(xlist):
for l_i,l in enumerate(ylist):
p=[1,-1j*w*k,l**2/(k**2+l**2)*(1-1/R),-l**2/(k**2+l**2)*w*1j*k]
roots=np.roots(p)
当参数为零时,避免计算的不同方法的优缺点是什么?k=0或l=0时的答案并不重要。我想最好的方法是当k或l为0时不运行计算
感谢您提供的帮助。您可以:
xlist = np.linspace(-n_steps*step_size,near_0,n_steps+1)
xlist=np.append(xlist,np.linspace(step_size,n_steps*step_size,n_steps))
ylist = np.linspace(-n_steps*step_size,near_0,n_steps+1)
ylist=np.append(ylist,np.linspace(step_size,n_steps*step_size,n_steps))
for k_i,k in enumerate(xlist):
for l_i,l in enumerate(ylist):
if k == 0 or l == 0: # Just continue!
continue
p=[1,-1j*w*k,l**2/(k**2+l**2)*(1-1/R),-l**2/(k**2+l**2)*w*1j*k]
roots=np.roots(p)
希尔伯特正在进行他的重力测量,除了
ZeroDivisionError
似乎是合理的,不是吗?那么希尔伯特会建议@touchmyboomboom做什么呢