我正在编写一个代码来查找参数k和l的不同值的多项式的根。除了参数等于零时,此代码工作正常。
我的方法是将零点偏移到一个小数字(如下所示),但这有缺点。
as.logical(survResp)
当参数为零时,避免计算的不同方法的优缺点是什么? k = 0或l = 0时的答案并不重要。我想最好的方法是在k或l为0时不运行计算。
感谢您提供任何帮助。
答案 0 :(得分: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)