Heim > Artikel > Backend-Entwicklung > Wie konvertiert man einen Zahlenbereich in einen anderen Bereich und behält dabei das Verhältnis bei?
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:
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!