將數字範圍轉換為另一個範圍,保持比例
將數字範圍轉換為另一個數字範圍,同時保留其相對比例可能是一種有用的技術在各種應用。讓我們考慮一個場景,您需要將 -16000.00 到 16000.00 範圍內的點值壓縮為 0-100 的整數範圍。
以下公式提供了此轉換的通用演算法:
NewValue = (((OldValue - OldMin) * (NewMax - NewMin)) / (OldMax - OldMin)) + NewMin
其中:
這個公式本質上是計算新值到新範圍,並將其應用於舊值與舊範圍的比率。以下 Python 程式碼片段示範如何使用此公式:
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)
公式還允許透過更改 OldMin、OldMax、NewMin 和 NewMax 的值來調整任一範圍。例如,如果您想將-50 到800 範圍內的值轉換為0-100 範圍內的值,則可以使用以下公式:
NewValue = (((OldValue + 50) * 100) / (850))
此公式透過向每個值添加50 來調整舊範圍。值將其移至正數,然後將其大小減小 850/(850-50) 倍以使其適合新範圍。
透過使用此通用演算法,您可以轉換數值範圍並保持它們的相對比率,即使範圍變化或您需要調整最小值和最大值。
以上是如何在保持比率的同時將數字範圍轉換為另一個範圍?的詳細內容。更多資訊請關注PHP中文網其他相關文章!