From 4b8d9d02f1c8b9de38daac88775c226d632a9943 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Fri, 16 Jun 2017 08:17:30 +0200 Subject: [PATCH] constrain fit params to positive vals in CP --- rowers/interactiveplots.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py index d1e64a9b..5474686c 100644 --- a/rowers/interactiveplots.py +++ b/rowers/interactiveplots.py @@ -619,7 +619,7 @@ def interactive_otwcpchart(powerdf,promember=0): # there is no Paul's law for OTW # Fit the data to thee parameter CP model - fitfunc = lambda pars,x: pars[0]/(1+(x/pars[2])) + pars[1]/(1+(x/pars[3])) + fitfunc = lambda pars,x: pars[0]/(1+(x/pars[2])) + pars[1]/(1+(x/abs(pars[3]))) errfunc = lambda pars,x,y: fitfunc(pars,x)-y p0 = [500,350,10,8000] @@ -636,6 +636,7 @@ def interactive_otwcpchart(powerdf,promember=0): p1 = [p0[0]/factor,p0[1]/factor,p0[2],p0[3]] + p1 = [abs(p) for p in p1] fitt = pd.Series(10**(4*np.arange(100)/100.)) fitpower = fitfunc(p1,fitt)