यहाँ मैं इसे कैसे समझ सकता हूँ:
कितने प्रतिशत x
एक सीमा में है
मान लेते हैं कि आपके पास एक सीमा 0
है 100
। उस सीमा से एक मनमानी संख्या को देखते हुए, उस सीमा से "प्रतिशत" क्या है? यह बहुत सरल होना चाहिए, 0
होगा 0%
, 50
होगा 50%
और 100
होगा 100%
।
अब, क्या हुआ अगर आपके रेंज था 20
करने के लिए 100
? हम ऊपर के समान तर्क लागू नहीं कर सकते (100 से विभाजित करें) क्योंकि:
20 / 100
हमें नहीं देना चाहिए 0
( अब 20
होना चाहिए 0%
)। इसे ठीक करने के लिए सरल होना चाहिए, हमें केवल 0
मामले के लिए अंश बनाने की आवश्यकता है 20
। हम घटाकर ऐसा कर सकते हैं:
(20 - 20) / 100
हालाँकि, यह 100
अब और काम नहीं करता क्योंकि:
(100 - 20) / 100
हमें नहीं देता 100%
। फिर, हम इसे भाजक से घटाकर भी ठीक कर सकते हैं:
(100 - 20) / (100 - 20)
यह पता लगाने के लिए एक सामान्यीकृत समीकरण कि किस x
सीमा में % निहित है:
(x - MIN) / (MAX - MIN)
स्केल रेंज से दूसरी रेंज
अब जब हम जानते हैं कि एक सीमा में कितने प्रतिशत संख्या निहित है, हम इसे संख्या को दूसरी श्रेणी में मैप करने के लिए लागू कर सकते हैं। एक उदाहरण के माध्यम से चलते हैं।
old range = [200, 1000]
new range = [10, 20]
यदि हमारे पास पुरानी श्रेणी में एक संख्या है, तो नई श्रेणी में संख्या क्या होगी? मान लीजिए कि संख्या है 400
। पहले यह पता करें कि 400
पुरानी सीमा के भीतर कितना प्रतिशत है। हम अपने समीकरण को ऊपर लागू कर सकते हैं।
(400 - 200) / (1000 - 200) = 0.25
तो, पुरानी सीमा 400
में स्थित है 25%
। हमें केवल यह पता लगाने की आवश्यकता है 25%
कि नई श्रेणी की संख्या क्या है । के बारे में सोचो क्या 50%
की [0, 20]
है। यह 10
सही होगा? आप उस उत्तर पर कैसे पहुंचे? ठीक है, हम बस कर सकते हैं:
20 * 0.5 = 10
लेकिन, इससे क्या [10, 20]
? हमें 10
अब तक सब कुछ स्थानांतरित करने की आवश्यकता है । उदाहरण के लिए:
((20 - 10) * 0.5) + 10
अधिक सामान्यीकृत सूत्र होगा:
((MAX - MIN) * PERCENT) + MIN
क्या है 25%
के मूल उदाहरण के लिए [10, 20]
:
((20 - 10) * 0.25) + 10 = 12.5
तो, 400
सीमा में [200, 1000]
करने के लिए नक्शे होगा 12.5
रेंज में[10, 20]
TLDR
x
पुरानी रेंज से नई रेंज में मैप करने के लिए:
OLD PERCENT = (x - OLD MIN) / (OLD MAX - OLD MIN)
NEW X = ((NEW MAX - NEW MIN) * OLD PERCENT) + NEW MIN