비율을 유지하면서 숫자 범위 변환
상대 비율을 유지하면서 다른 범위로 변환해야 하는 값 범위가 주어지면 일반적인 알고리즘과 해당 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
``
이전 범위의 범위가 0인 경우(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 중국어 웹사이트의 기타 관련 기사를 참조하세요!