比率を維持しながら数値範囲を別の範囲に変換するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-08 02:11:02
オリジナル
701 人が閲覧しました

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

比率を維持しながら数値範囲を別の範囲に変換する

相対的な比率を維持しながら数値範囲を別の範囲に変換することは、便利なテクニックです。さまざまな用途に。 -16000.00 ~ 16000.00 の範囲のポイント値を 0 ~ 100 の整数範囲に圧縮する必要があるシナリオを考えてみましょう。

次の式は、この変換の一般的なアルゴリズムを提供します。

NewValue = (((OldValue - OldMin) * (NewMax - NewMin)) / (OldMax - OldMin)) + NewMin
ログイン後にコピー

ここで:

  • OldValue は古い範囲の元の値です
  • OldMin は古い範囲の最小値です
  • OldMax は最大値です古い範囲の
  • NewMax は新しい範囲の最大値です
  • 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート