Tukar Julat Nombor kepada Julat Lain, Mengekalkan Nisbah
Menukar julat angka kepada julat lain sambil mengekalkan perkadaran relatifnya boleh menjadi teknik yang berguna dalam pelbagai aplikasi. Mari kita pertimbangkan senario di mana anda perlu memampatkan nilai mata daripada julat -16000.00 hingga 16000.00 ke dalam julat integer 0-100.
Formula berikut menyediakan algoritma umum untuk penukaran ini:
NewValue = (((OldValue - OldMin) * (NewMax - NewMin)) / (OldMax - OldMin)) + NewMin
di mana:
Formula ini pada asasnya mengira nisbah nilai baharu kepada julat baharu dan gunakannya pada nisbah nilai lama kepada julat lama. Coretan kod Python berikut menunjukkan cara menggunakan formula ini:
old_min = -16000.00 old_max = 16000.00 new_min = 0 new_max = 100 old_value = 0.0 new_value = (((old_value - old_min) * (new_max - new_min)) / (old_max - old_min)) + new_min print(new_value)
Formula ini juga membenarkan pelarasan sama ada julat dengan menukar nilai OldMin, OldMax, NewMin dan NewMax. Sebagai contoh, jika anda ingin menukar nilai daripada julat -50 hingga 800 kepada julat 0-100, anda akan menggunakan formula berikut:
NewValue = (((OldValue + 50) * 100) / (850))
Formula ini melaraskan julat lama dengan menambah 50 pada setiap satu. nilai untuk mengalihkannya ke sisi positif dan kemudian mengurangkan saiznya dengan faktor 850/(850-50) untuk memasukkannya ke dalam julat.
Dengan menggunakan algoritma umum ini, anda boleh menukar julat angka dan mengekalkan nisbah relatifnya, walaupun apabila julat berbeza atau anda perlu melaraskan nilai minimum dan maksimum.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Julat Nombor kepada Julat Lain Sambil Mengekalkan Nisbah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!