SciPy curve_fit运行时错误,停止迭代

时间:2012-02-07 07:40:55

标签: python scipy curve-fitting

我以迭代的方式使用scipy.optimize.curve_fit()

我的问题是,当它无法适应参数时,整个程序(以及迭代)停止,这就是它给出的错误:

RuntimeError: Optimal parameters not found: Number of calls to function has reached maxfev = 800.

我明白为什么它无法适应。我的问题是,有什么方法可以在Python 3.2.2中编写程序来忽略这种情况而只是继续吗?

1 个答案:

答案 0 :(得分:14)

在优化无法找到解决方案的情况下,您可以使用标准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引发的错误情况,而不会使程序中止。