Heim  >  Artikel  >  Backend-Entwicklung  >  Wie konvertiert man einen Zahlenbereich in einen anderen Bereich und behält dabei das Verhältnis bei?

Wie konvertiert man einen Zahlenbereich in einen anderen Bereich und behält dabei das Verhältnis bei?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-08 02:11:02636Durchsuche

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

Konvertieren eines Zahlenbereichs in einen anderen Bereich unter Beibehaltung des Verhältnisses

Das Konvertieren eines Zahlenbereichs in einen anderen unter Beibehaltung seiner relativen Proportionen kann eine nützliche Technik sein in verschiedenen Anwendungen. Betrachten wir ein Szenario, in dem Sie Punktwerte aus einem Bereich von -16000,00 bis 16000,00 in einen Ganzzahlbereich von 0-100 komprimieren müssen.

Die folgende Formel stellt einen allgemeinen Algorithmus für diese Konvertierung bereit:

NewValue = (((OldValue - OldMin) * (NewMax - NewMin)) / (OldMax - OldMin)) + NewMin

wobei:

  • OldValue der ursprüngliche Wert im alten Bereich ist
  • OldMin der Minimalwert im alten Bereich ist
  • OldMax der Maximalwert ist im alten Bereich
  • NewMax ist der Maximalwert im neuen Bereich
  • NewMin ist der Minimalwert im neuen Bereich

Diese Formel berechnet im Wesentlichen das Verhältnis von den neuen Wert auf den neuen Bereich und wendet ihn auf das Verhältnis des alten Werts zum alten Bereich an. Der folgende Python-Codeausschnitt zeigt, wie diese Formel verwendet wird:

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)

Die Formel ermöglicht auch Anpassungen an beiden Bereichen durch Ändern der Werte von OldMin, OldMax, NewMin und NewMax. Wenn Sie beispielsweise Werte aus dem Bereich -50 bis 800 in den Bereich 0-100 umwandeln möchten, verwenden Sie die folgende Formel:

NewValue = (((OldValue + 50) * 100) / (850))

Diese Formel passt den alten Bereich an, indem jeweils 50 hinzugefügt werden Wert, um ihn auf die positive Seite zu verschieben, und reduziert dann seine Größe um den Faktor 850/(850-50), um ihn in den neuen Bereich einzupassen.

Mit diesem verallgemeinerten Algorithmus können Sie numerische Bereiche konvertieren und behalten ihre relativen Verhältnisse bei, auch wenn die Bereiche variieren oder Sie die Minimal- und Maximalwerte anpassen müssen.

Das obige ist der detaillierte Inhalt vonWie konvertiert man einen Zahlenbereich in einen anderen Bereich und behält dabei das Verhältnis bei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn