比率を維持しながら数値範囲を別の範囲に変換する
相対的な比率を維持しながら数値範囲を別の範囲に変換することは、便利なテクニックです。さまざまな用途に。 -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 中国語 Web サイトの他の関連記事を参照してください。