i want make logharitmic fit. keep getting runtime error:      optimal parameters not found: number of calls function has reached   maxfev = 1000    i use following script. can tell me go wrong? use spyder still beginner.   import math import matplotlib mpl scipy.optimize import curve_fit import numpy np  #data f1=[735.0,696.0,690.0,683.0,680.0,678.0,679.0,675.0,671.0,669.0,668.0,664.0,664.0] t1=[1,90000.0,178200.0,421200.0,505800.0,592200.0,768600.0,1036800.0,1371600.0,1630800.0,1715400.0,2345400.0,2409012.0]  f1n=np.array(f1) t1n=np.array(t1)  plt.plot(t1,f1,'ro',label="original data")  # curvefit def func(t,a,b):     return a+b*np.log(t)  t=np.linspace(0,3600*24*28,13)  popt, pcov = curve_fit(func, t, f1n, maxfev=1000)      plt.plot(t, func(t, *popt), label="fitted curve")  plt.legend(loc='upper left') plt.show()          your original data t1  , f1 . therefore curve_fit  should given t1  second argument, not  t .   popt, pcov = curve_fit(func,...
 
Comments
Post a Comment