我正在以迭代方式使用 scipy.optimize.curve_fit()
。
我的问题是,当它无法适应整个程序(因此迭代)停止的参数时,这是它给出的错误:
RuntimeError:找不到最佳参数:调用函数的次数已达到 maxfev = 800。
我明白为什么一直装不下。我的问题是有什么方法可以用 Python 3.2.2 编写程序来忽略此类事件并继续进行?
最佳答案
在优化未能找到解决方案的情况下,您可以使用标准 Python 异常处理来捕获 curve_fit
引发的错误。所以像这样:
try:
popt,pcov = scipy.optimize.curve_fit(f, xdata, ydata, p0=None, sigma=None)
except RuntimeError:
print("Error - curve_fit failed")
该构造将让您捕获并处理 curve_fit
引发的错误情况,而无需中止您的程序。
关于python - SciPy curve_fit 运行时错误,停止迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9172574/