Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menukar Julat Nombor kepada Julat Lain Sambil Mengekalkan Nisbah?

Bagaimana untuk Menukar Julat Nombor kepada Julat Lain Sambil Mengekalkan Nisbah?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-08 02:11:02706semak imbas

How to Convert a Number Range to Another Range While Maintaining Ratio?

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:

  • Nilai Lama ialah nilai asal dalam julat lama
  • OldMin ialah nilai minimum dalam julat lama
  • OldMax ialah nilai maksimum dalam julat lama
  • NewMax ialah nilai maksimum dalam julat baharu
  • NewMin ialah nilai minimum dalam julat baharu

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn