数値範囲を変換する際の比率の保持
データ操作の領域では、値をある範囲から別の範囲に変換する必要がよくあります。相対的な比率を維持します。これは、データを圧縮したり、異なるスケール間で値をマッピングしたりする場合に特に役立ちます。
-16000.00 ~ 16000.00 の値の範囲を、より管理しやすい 0 ~ 100 の整数範囲に変換するタスクを考えてみましょう。変換によって元の値間の比率が維持されるようにしたいと考えています。
この比率を維持するための鍵は、次の式にあります:
NewValue = (((OldValue - OldMin) * (NewMax - NewMin)) / (OldMax - OldMin)) + NewMin
ここで:
さらに細分化するには:
この式により、古い範囲内の値間の比率が新しい範囲内で確実に保持されます。
たとえば、OldValue が 8000.00、OldMin が -16000.00、OldMax が 16000.00、NewMax が 100、NewMin が 0 の場合、 , NewValue は次のように計算されます:
NewValue = (((8000.00 - (-16000.00)) * (100 - 0)) / (16000.00 - (-16000.00))) + 0 = (((24000.00) * (100)) / (32000.00)) + 0 = 75.00
したがって、古い範囲の 8000.00 は、新しい範囲の 75.00 に対応し、これらの値間の相対比率が維持されます。この式をさらにカスタマイズして、古い範囲がゼロである場合や、必要な新しい範囲がゼロで始まらない場合を処理することができます。
以上が数値範囲を変換するときに値間の比率を維持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。