Python 运行时警告:迭代没有取得良好的进展

Python 运行时警告:迭代没有取得良好的进展,python,optimization,scipy,runtime-error,scipy-optimize,Python,Optimization,Scipy,Runtime Error,Scipy Optimize,我在使用scipy.fsolve时收到运行时警告。我有w、n、k和lm(浮点值)的数组,并希望求解d,即返回一个具有类似维数的d数组。谁能帮帮我吗 def func(n, k, d, lm): alpha = 4*np.pi*k/lm se = ((n-1)**2) / ((n+1)**2) + 0.05*np.ones_like(lm) st = 1.014*np.ones_like(lm) - 4./(n*(n+1)**2) r0 = (1-se)/(1-s

我在使用scipy.fsolve时收到运行时警告。我有w、n、k和lm(浮点值)的数组,并希望求解d,即返回一个具有类似维数的d数组。谁能帮帮我吗

def func(n, k, d, lm):
    alpha = 4*np.pi*k/lm
    se = ((n-1)**2) / ((n+1)**2) + 0.05*np.ones_like(lm) 
    st = 1.014*np.ones_like(lm) - 4./(n*(n+1)**2)
    r0 = (1-se)/(1-st)
    return 1/(alpha*d*r0+1)
    
d = np.zeros(w.shape)
for i in range(len(w)):
    d[i] = fsolve((lambda d: w[i] - func(n[i], k[i], d, lm[i])), 1.)

C:\Users\Emran\AppData\Local\Programs\Python38-32\lib\site packages\scipy\optimize\minpack.py:175:RuntimeWarning:根据 过去十次迭代的改进。
warning.warn(msg,RuntimeWarning)

您如何确定给定的w、n、k和lm的方程是可解的?是的,它应该是可解的。错误发生在哪个w、n、k和lm上?