Почему scipy curvefit выдает ошибку при установке xlim на несвязанный график раньше? - PullRequest
2 голосов
/ 12 июля 2020

Мой сценарий для подгонки кривой к моим данным начал выдавать ошибку (numpy .linalg.LinAlgError: SVD не сходился в линейных наименьших квадратах) после того, как несколько месяцев работал нормально. После погони за тем, что могло вызвать это, кажется, что построение другого кадра данных pandas и установка xlim вызовут ошибку, тогда как когда я не устанавливаю xlim, он работает нормально. Функция построения кривой не имеет ничего общего с остальной частью кода, насколько я могу судить, но по-прежнему выдает ошибку в зависимости от предшествующей ей настройки xlim. дайте мне знать, я был бы очень признателен. Спасибо!

Вот трассировка:

Traceback (most recent call last):  
  File "<input>", line 1, in <module>  
  File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.1.1\plugins\python-ce\helpers\pydev\_pydev_bundle\pydev_umd.py",  line 197, in runfile
    pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script  
  File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.1.1\plugins\python-ce\helpers\pydev\_pydev_imps\_pydev_execfile.py",   line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)  
  File "C:/Users/Sulley/Documents/Scripts/DataAnalysis/tester2.py",   line 40, in <module>
plot_fitted()  
  File "C:/Users/Sulley/Documents/Scripts/DataAnalysis/tester2.py",   line 26, in plot_fitted
popt, pcov = curve_fit(variableSlope, xdata, ydata, p0VS, method='dogbox', maxfev=2000)  
  File "C:\Users\Sulley\Documents\Scripts\GlobalVenv\lib\site-packages\scipy\optimize\minpack.py",   line 796, in curve_fit
**kwargs)  
  File "C:\Users\Sulley\Documents\Scripts\GlobalVenv\lib\site-packages\scipy\optimize\_lsq\least_squares.py",   line 928, in least_squares
tr_solver, tr_options, verbose)  
  File "C:\Users\Sulley\Documents\Scripts\GlobalVenv\lib\site-packages\scipy\optimize\_lsq\dogbox.py",   line 222, in dogbox
newton_step = lstsq(J_free, -f, rcond=-1)[0]  
  File "<__array_function__ internals>",   line 6, in lstsq  
  File "C:\Users\Sulley\Documents\Scripts\GlobalVenv\lib\site-packages\numpy\linalg\linalg.py",   line 2259, in lstsq
x, resids, rank, s = gufunc(a, b, rcond, signature=signature, extobj=extobj)  
  File "C:\Users\Sulley\Documents\Scripts\GlobalVenv\lib\site-packages\numpy\linalg\linalg.py",   line 109, in _raise_linalgerror_lstsq
raise LinAlgError("SVD did not converge in Linear Least Squares")
numpy.linalg.LinAlgError: SVD did not converge in Linear Least Squares
...