From 219afaa40eb85a58489d1346bc0aa648a915ec20 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Tue, 28 Aug 2018 16:37:55 +0200 Subject: [PATCH] defined one p0 in datautils for CP fits --- rowers/datautils.py | 4 +++- rowers/interactiveplots.py | 9 +++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/rowers/datautils.py b/rowers/datautils.py index fb9fe437..d7891767 100644 --- a/rowers/datautils.py +++ b/rowers/datautils.py @@ -3,6 +3,9 @@ import numpy as np from scipy.interpolate import griddata from scipy import optimize +#p0 = [500,350,10,8000] +p0 = [190,200,33,16000] + def updatecp(delta,cpvalues,r): cp2 = r.p0/(1+delta/r.p2) cp2 += r.p1/(1+delta/r.p3) @@ -38,7 +41,6 @@ def cpfit(powerdf): fitfunc = lambda pars,x: abs(pars[0])/(1+(x/abs(pars[2]))) + abs(pars[1])/(1+(x/abs(pars[3]))) errfunc = lambda pars,x,y: fitfunc(pars,x)-y - p0 = [500,350,10,8000] p1 = p0 diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py index e305250b..f3e42627 100644 --- a/rowers/interactiveplots.py +++ b/rowers/interactiveplots.py @@ -71,6 +71,7 @@ import rowers.metrics as metrics from rowers.metrics import axes,axlabels,yaxminima,yaxmaxima from utils import lbstoN +from datautils import p0 import datautils watermarkurl = "/static/img/logo7.png" @@ -1409,7 +1410,7 @@ def interactive_agegroupcpchart(age,normalized=False): fitfunc = lambda pars,x: pars[0]/(1+(x/pars[2])) + pars[1]/(1+(x/pars[3])) errfunc = lambda pars,x,y: fitfunc(pars,x)-y - p0 = [500,350,10,8000] + # p0 = [500,350,10,8000] # fitting WC data to three parameter CP model if len(fhduration)>=4: @@ -1640,9 +1641,9 @@ def interactive_agegroup_plot(df,distance=2000,duration=None, fitfunc = lambda pars, x: np.abs(pars[0])*(1-x/max(120,pars[1]))-np.abs(pars[2])*np.exp(-x/np.abs(pars[3]))+np.abs(pars[4])*(np.sin(np.pi*x/max(50,pars[5]))) errfunc = lambda pars, x,y: fitfunc(pars,x)-y - p0 = [700,120,700,10,100,100] + p0age = [700,120,700,10,100,100] - p1, success = optimize.leastsq(errfunc,p0[:], + p1, success = optimize.leastsq(errfunc,p0age[:], args = (age,power)) expo_vals = fitfunc(p1, age2) @@ -1755,7 +1756,7 @@ def interactive_cpchart(rower,thedistances,thesecs,theavpower, fitfunc = lambda pars,x: pars[0]/(1+(x/pars[2])) + pars[1]/(1+(x/pars[3])) errfunc = lambda pars,x,y: fitfunc(pars,x)-y - p0 = [500,350,10,8000] + # p0 = [500,350,10,8000] wcpower = pd.Series(wcpower) wcdurations = pd.Series(wcdurations)