فرمول انتقال یک عدد از یک بازه به بازه دیگر
انتقال یک عدد از یک بازه به یک بازه دیگر، به این معناست که اگر ما عدی بین بازهی a تا b در اختیار داشته باشیم، بتوانیم آن را به عددی در بین بازهی c تا d تبدیل کنیم. در اینجا a و c ابتدای بازه و b و d نیز انتهای بازه خواهند بود.
روش محاسبه
بازهی اول را از Min1 تا Max1 در نظر میگیریم. بازهی دوم را نیز از Min2 تا Max2 در نظر میگیریم.
- Min1 و Min2، ابتدای بازه یا کمترین مقدار بازهی خودشان محسوب میشوند.
- Max1 و Max2، انتهای بازه یا بیشترین مقدار بازهی خودشان محسوب میشوند.
حالا عددی با نام Value1، در بازهی اول وجود دارد که میخواهیم آن را به عددی در بازهی دوم انتقال دهیم و آن را Value2 در نظر میگیریم. مراحل زیر را دنبال کنید تا به فرمول نهایی برسید.
1. طول بازهها (اختلاف بازه)
ابتدا باید طول دو بازه را حساب کنیم. که از آن میتوان به عنوان اختلاف بزرگترین مقدار از کمترین مقدار بازه نیز نام برد:
Diff1 = Max1 – Min1
Diff2 = Max2 – Min2
2. فاصله مقدار اول از ابتدای بازهی خود
حالا بایستی فاصلهی Value1 را از ابتدای بازهی خود به دست آوریم:
Left1 = Value1 – Min1
3. افزایش نسبت
فاصلهی مقدار اول را از ابتدای بازهی خود که به دست آوردیم؛ حالا باید آن را به بازهی دوم انتقال دهیم که این کار در سه مرحله صورت میگیرد:
- آن را در طول بازهی دوم ضرب میکنیم.
- حاصل را بر طول بازهی اول تقسیم میکنیم.
- حاصل را با ابتدای بازهی دوم جمع میکنیم.
Left1ToDiif2 = Left1 * Diff2
Left1ToDiif2InDiff1 = Left1ToDiif2 / Diff1
Value2 = Left1ToDiif2InDiff1 + Min2
فرمول نهایی انتقال بازه
میتوان به صورت خلاصه، فرمول را به صورت زیر تکمیل کرد:
Value2 = (Value1 – Min1) * (Max2 – Min2) / (Max1 – Min1) + Min2
نکته: اگر طول بازهی اول برابر 0 باشد، آنگاه جواب نهایی برابر ابتدای بازهی دوم خواهد بود!
مثال
عدد 51 در بازهی 50 تا 100 قرار دارد و میخواهیم آن را به معادل خود در بازهی 150 تا 200 انتقال دهیم. شاید در نگاه ساده به دلیل راحت بودن اختلاف اعداد، بتوانید جواب را حدس بزنید؛ اما فرض کنید به جای انتقال به بازهی 150 تا 200، آن را به بازهی 0 تا 1 انتقال میدادیم! در پایین، هردو مثال را به ترتیب نوشتهایم:
Value2 = (51 – 50) * (200 – 150) / (100 – 50) + 150
Value2 = 1 * 50 / 50 + 150
Value2 = 50 / 50 + 150
Value2 = 1 + 150
Value2 = 151
Value2 = (51 – 50) * (1 – 0) / (100 – 50) + 0
Value2 = 1 * 1 / 50 + 0
Value2 = 1 / 50 + 0
Value2 = 0.02 + 0
Value2 = 0.02