Private
Public Access
1
0

fixes, test_aworkouts misbehaving

This commit is contained in:
Sander Roosendaal
2020-10-16 18:07:02 +02:00
parent 4c0f165dda
commit 7109f5aa88
4 changed files with 58 additions and 46 deletions

View File

@@ -60,7 +60,7 @@ def updatecp(delta,cpvalues,r,workouttype='water'):
return 1
def cpfit(powerdf):
def cpfit(powerdf,fraclimit=0.0001,nmax=1000):
# Fit the data to thee parameter CP model
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
@@ -96,11 +96,13 @@ def cpfit(powerdf):
frac = abs(ddmin)/fitpoints.mean()
while frac>0.0001:
counter = 0
while frac>fraclimit and counter<nmax:
fitpoints = fitpoints*(fitpoints.mean()-ddmin)/(fitpoints.mean())
dd = fitpoints-theavpower
ddmin = dd.min()
frac = abs(ddmin)/fitpoints.mean()
counter += 1
ratio = fitpoints.mean()/fitpoints0.mean()
@@ -111,7 +113,7 @@ def getlogarr(maxt):
#print(maxlog10,round(maxlog10))
aantal = 10*round(maxlog10)
logarr = np.arange(aantal+1)/10.
res = []
for la in logarr:
try: