ホームページ > バックエンド開発 > Python チュートリアル > 比率を維持しながら数値範囲を変換するにはどうすればよいですか?

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

Barbara Streisand
リリース: 2024-11-07 21:17:02
オリジナル
950 人が閲覧しました

How to Convert Number Ranges While Preserving Ratios?

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

相対的な比率を維持しながら別の範囲に変換する必要がある値の範囲を指定すると、次のようになります。一般的なアルゴリズムとその Python を提示します。実装。

アルゴリズム:

比率を維持しながら値を古い範囲 (OldMin、OldMax) から新しい範囲 (NewMin、NewMax) に変換するには:

``
NewValue = (((OldValue - OldMin) * (NewMax - NewMin)) / (OldMax - OldMin)) NewMin
``

または、より読みやすいように:

``
OldRange = (OldMax - OldMin)
NewRange = ( NewMax - NewMin)
NewValue = (((OldValue - OldMin) * NewRange) / OldRange) NewMin
``

古い範囲にゼロ スパン (OldMin = OldMax) がある場合、計算は次のように変更されます。

``
OldRange = (OldMax - OldMin)
if (OldRange == 0)

NewValue = NewMin
ログイン後にコピー

else
{

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

}
``

このシナリオでは、NewMin が新しい値のデフォルトの選択ですただし、NewMax やその平均などの他のオプションも状況に応じて変更される可能性があります。

Python 実装:

``
def Convert_range(old_value, old_min, old_max, new_min, new_max):
"""比率を維持しながら、ある範囲から別の範囲に値を変換します。"""
old_range = old_max - old_min
if old_range == 0:

return new_min
ログイン後にコピー

new_range = new_max - new_min
return (((old_value - old_min) * new_range) / old_range) new_min
``

以上が比率を維持しながら数値範囲を変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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