Introduction
Le problème est le suivant. J'ai un nombre en provenance d'un intervalle d'entrée et je veux lui appliquer une mise à l'échelle vers l'intervalle de sortie. Un cas que je rencontre souvent c'est convertir une valeur brute en provenance d'un capteur pour la convertir en un pourcentage.
J'utilise donc très souvent une formule mathématique de mise à l'échelle à partir des valeurs min et max des deux intervalles.
Formule mathématique
Voici la formule :
nombreSortie = ((maxSortie - minSortie) / (maxEntrée - minEntrée)) x (nombreEntrée - minEntrée) + minSortie
Sachant que :
nombreEntrée
appartient à l'intervalle [minEntrée
;maxEntrée
]nombreSortie
appartient à l'intervalle [minSortie
;maxSortie
]
Exemple
Je reçoit le nombre 180. Je sais que l'intervalle min et max de ce nombre est [32; 255]. Je souhaite le convertir en pourcentage est donc faire un changement d'échelle vers l'intervalle [0; 100].
Voici quelques variables :
nombreEntrée
: 180minEntrée
: 32maxEntrée
: 255minSortie
: 0maxSortie
: 100nombreSortie
: ?
Appliquer à notre exemple :
nombreSortie = ((100 - 0) / (255 - 32)) x (180 - 32) + 0
nombreSortie = 66,37