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