X-Git-Url: https://git.immae.eu/?p=perso%2FDenise%2Foms.git;a=blobdiff_plain;f=calculs_extrapole.py;h=509402be0f4d226452d7ac562f8bd26744036b66;hp=ab22502e855d7e74a5b15b943a4445a92a8dbe85;hb=3d7da80ac11bb87ab441fb51f93b738be02de2c3;hpb=857e655d3b2963fed1a7c1a8c56169bf1c0a4809 diff --git a/calculs_extrapole.py b/calculs_extrapole.py index ab22502..509402b 100644 --- a/calculs_extrapole.py +++ b/calculs_extrapole.py @@ -10,8 +10,95 @@ from gestion_erreurs import warning, debug from configuration import CONFIG from gestion_donnees import convertit_age_vers_texte import gestion_unites as u +from math import ceil -#### Les fonctions qui permettent de faire les calculs additionnels une fois qu'on a l'extrapolation +#### Les fonctions qui permettent de faire les calculs additionnels une fois qu'on a l'extrapolation (ou pas) + +def interpole_lineaire(dates, donnees, t, liste_err): + """ simple interpolation linéaire. + dates et donnees sont les dates et données de l'enfant. + t est le temps (jours) auquel on veut l'interpolation. On renvoie la donnée interpolée. + On interpole linéairement entre les deux données. Si ça + n'est pas possible parce que t n'est pas dans les bornes, on renvoie -1 + """ + + if tdates[-1]: + return -1 # en dehors des bornes + + i=0 # on cherche l'intervalle : entre dates[i] et dates[i+1] on a la donnée t + while imax(donnees) or val