问题描述
在使用 fit_desoto 函数估计参数以进行进一步太阳能模块计算时,我收到以下错误:
运行时错误:参数估计失败: 迭代没有取得良好的进展,由 与最近五次雅可比评估的改进相比。
错误来自SciPy库的optimize.root函数, 在 fit_desoto 函数中使用。
即使我只使用 1s 作为 fit_desoto 函数的初始值,我也会收到此错误。
self.mp_desoto_fit = pvlib.ivtools.sdm.fit_desoto(v_mp=module['Vmpo'],i_mp=module['Impo'],v_oc=module['Voco'],i_sc=module['Isco'],alpha_sc=module['Aisc'],beta_voc=module['Bvoco'],cells_in_series=module['Cells_in_Series'],EgRef=1.121,dEgdT=-0.0002677,temp_ref=25,irrad_ref=1000,root_kwargs={'options': {'col_deriv': 0,'xtol': 1.49012e-05,'maxfev': 0,'band': None,'eps': None,'factor': 100,'diag': None}})
fit_desoto 函数调用中的 root_kwargs 会影响根函数的求解器,但求解器的不同属性并不能解决问题。
您对这个问题有什么想法吗?
我已经尝试过的:
提前致谢
解决方法
函数内的问题没有解决,但可以通过使用fit_cec_sam函数绕过它,该函数与fit desoto函数非常相似。
拟合 desoto 函数中的问题由初始猜测产生。
查看 Git Hub 上的答案以了解详细信息。