Comment convertir une plage de nombres en une autre plage tout en conservant le ratio ?

Mary-Kate Olsen
Libérer: 2024-11-08 02:11:02
original
644 Les gens l'ont consulté

How to Convert a Number Range to Another Range While Maintaining Ratio?

Convertir une plage numérique en une autre plage, en conservant le rapport

Convertir une plage numérique en une autre tout en préservant leurs proportions relatives peut être une technique utile dans diverses applications. Considérons un scénario dans lequel vous devez compresser des valeurs de points d'une plage de -16 000,00 à 16 000,00 dans une plage entière de 0 à 100.

La formule suivante fournit un algorithme général pour cette conversion :

NewValue = (((OldValue - OldMin) * (NewMax - NewMin)) / (OldMax - OldMin)) + NewMin
Copier après la connexion

où :

  • OldValue est la valeur d'origine dans l'ancienne plage
  • OldMin est la valeur minimale dans l'ancienne plage
  • OldMax est la valeur maximale dans l'ancienne plage
  • NewMax est la valeur maximale dans la nouvelle plage
  • NewMin est la valeur minimale dans la nouvelle plage

Cette formule calcule essentiellement le rapport de la nouvelle valeur à la nouvelle plage et l'applique au rapport de l'ancienne valeur à l'ancienne plage. L'extrait de code Python suivant montre comment utiliser cette formule :

old_min = -16000.00
old_max = 16000.00
new_min = 0
new_max = 100
old_value = 0.0

new_value = (((old_value - old_min) * (new_max - new_min)) / (old_max - old_min)) + new_min

print(new_value)
Copier après la connexion

La formule permet également d'ajuster l'une ou l'autre plage en modifiant les valeurs de OldMin, OldMax, NewMin et NewMax. Par exemple, si vous souhaitez convertir des valeurs comprises entre -50 et 800 vers la plage 0-100, vous utiliserez la formule suivante :

NewValue = (((OldValue + 50) * 100) / (850))
Copier après la connexion

Cette formule ajuste l'ancienne plage en ajoutant 50 à chaque valeur pour le déplacer du côté positif, puis réduire sa taille d'un facteur de 850/(850-50) pour l'adapter à la nouvelle plage.

En utilisant cet algorithme généralisé, vous pouvez convertir des plages numériques et conserver leurs ratios relatifs, même lorsque les plages varient ou que vous devez ajuster les valeurs minimales et maximales.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!