X-Git-Url: https://git.immae.eu/?p=perso%2FDenise%2Foms.git;a=blobdiff_plain;f=calculs_extrapole.py;h=c84960d6b703d9ba5e75b7c60b80aaf3efd46c27;hp=ab22502e855d7e74a5b15b943a4445a92a8dbe85;hb=7b1f383214c0a3e351bf0f369b0d1737e37980d1;hpb=cf0d4c8c36224ca7059e99d03c25abaf694011d7 diff --git a/calculs_extrapole.py b/calculs_extrapole.py index ab22502..c84960d 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