Begini cara saya memahaminya:
Persentase apa yang x
ada dalam kisaran
Anggaplah Anda memiliki rentang dari 0
hingga 100
. Dengan nomor acak dari kisaran itu, "persen" berapa dari kisaran itu? Ini harus cukup sederhana, 0
akan 0%
, 50
akan 50%
dan 100
akan terjadi 100%
.
Sekarang, bagaimana jika jangkauan Anda adalah 20
untuk 100
? Kami tidak dapat menerapkan logika yang sama seperti di atas (bagi 100) karena:
20 / 100
tidak memberi kita 0
( 20
seharusnya 0%
sekarang). Ini harus mudah diperbaiki, kita hanya perlu membuat pembilang 0
untuk kasus 20
. Kita bisa melakukannya dengan mengurangi:
(20 - 20) / 100
Namun, ini tidak berfungsi 100
lagi karena:
(100 - 20) / 100
tidak memberi kita 100%
. Sekali lagi, kita dapat memperbaikinya dengan mengurangi dari penyebut juga:
(100 - 20) / (100 - 20)
Persamaan yang lebih digeneralisasi untuk mengetahui% x
terletak pada rentang adalah:
(x - MIN) / (MAX - MIN)
Rentang skala ke rentang lain
Sekarang kita tahu berapa persen angka yang berada dalam suatu rentang, kita dapat menerapkannya untuk memetakan angka ke rentang lain. Mari kita lihat sebuah contoh.
old range = [200, 1000]
new range = [10, 20]
Jika kami memiliki nomor dalam rentang lama, berapakah angka tersebut dalam rentang baru? Katakanlah angkanya 400
. Pertama, cari tahu berapa persen 400
dalam kisaran lama. Kita dapat menerapkan persamaan kita di atas.
(400 - 200) / (1000 - 200) = 0.25
Jadi, 400
terletak pada 25%
kisaran lama. Kami hanya perlu mencari tahu nomor berapa 25%
dari kisaran baru. Pikirkan tentang apa 50%
dari [0, 20]
yang. Apakah itu 10
benar? Bagaimana Anda sampai pada jawaban itu? Baiklah, kita bisa melakukan:
20 * 0.5 = 10
Tapi, bagaimana dengan dari [10, 20]
? Kita perlu mengubah segalanya 10
sekarang. misalnya:
((20 - 10) * 0.5) + 10
formula yang lebih umum adalah:
((MAX - MIN) * PERCENT) + MIN
Untuk contoh asli apa 25%
dari [10, 20]
adalah:
((20 - 10) * 0.25) + 10 = 12.5
Jadi, 400
dalam kisaran [200, 1000]
akan memetakan ke 12.5
dalam kisaran[10, 20]
TLDR
Untuk memetakan x
dari rentang lama ke rentang baru:
OLD PERCENT = (x - OLD MIN) / (OLD MAX - OLD MIN)
NEW X = ((NEW MAX - NEW MIN) * OLD PERCENT) + NEW MIN