From 3e7b1c3f38b0c430757922124f3354da8a75dca9 Mon Sep 17 00:00:00 2001 From: Yannick Ulrich <yannick.ulrich@psi.ch> Date: Mon, 17 Feb 2020 14:50:59 +0100 Subject: [PATCH] 31.1 towards xi plots in #17: added fitting routine --- pymule/xicut.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 pymule/xicut.py diff --git a/pymule/xicut.py b/pymule/xicut.py new file mode 100644 index 0000000..abe8ae1 --- /dev/null +++ b/pymule/xicut.py @@ -0,0 +1,20 @@ +from scipy import optimize +import numpy as np + + +def myfit(data, n): + xdata = np.log(data[:,0]) + ydata = data[:,1] + edata = data[:,2] + + fitfunc = lambda p, x: sum(p[i] * x**i for i in range(len(p))) + errfunc = lambda p, x, y, err: (y - fitfunc(p, x)) / err + + pinit = [1.0] * (n+1) + out = optimize.leastsq(errfunc, pinit, + args=(xdata, ydata, edata), full_output=1) + + coeff = out[0] + covar = out[1] + + return coeff, covar -- GitLab