SciPy Curve Fit Fails Power Law
So, I'm trying to fit a set of data with a power law of the following kind: def f(x,N,a): # Power law fit if a >0: return N*x**(-a) else: return 10.**300 par,cov = scipy.optimize.curve_fit(f,data,time,array([10**(-7),1.2])) where the else condition is just to force a to be positive. Using scipy.optimize.curve_fit yields an awful fit (green line) , returning values of 1.2e+04 and 1.9e0-7 for N and a, respectively, with absolutely no intersection with the data. From fits I've put in manually, the values should land around 1e-07 and 1.2 for N and a, respectively, though putting those into curve