Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menukar Julat Nombor Semasa Memelihara Nisbah?

Bagaimana untuk Menukar Julat Nombor Semasa Memelihara Nisbah?

Mary-Kate Olsen
Lepaskan: 2024-11-09 02:48:02
asal
487 orang telah melayarinya

How to Convert a Number Range While Preserving Ratio?

Menukar Julat Nombor Semasa Memelihara Nisbah

Memetakan julat nombor kepada yang lain sambil mengekalkan perhubungan berkadar boleh menjadi tugas yang berguna dalam data manipulasi dan pemprosesan imej. Transformasi ini memastikan bahawa semua nilai dalam julat asal diwakili secara berkadar dalam julat baharu.

Untuk mencapainya, kita boleh menggunakan formula berikut:

NewValue = (((OldValue - OldMin) * (NewMax - NewMin)) / (OldMax - OldMin)) + NewMin
Salin selepas log masuk

di mana:

  • OldValue ialah nilai asal yang akan ditukar
  • OldMin dan OldMax mewakili nilai minimum dan maksimum julat asal, masing-masing
  • NewMin dan NewMax mewakili nilai minimum dan maksimum bagi julat baharu, masing-masing

Formula ini memastikan nisbah nilai dikekalkan antara julat asal dan julat baharu. Dalam erti kata lain, jika nilai dalam julat asal adalah dua kali lebih besar daripada nilai lain, nilai sepadannya dalam julat baharu juga akan menjadi dua kali lebih besar.

Sebagai contoh, jika kita mempunyai fail imej dengan titik nilai antara -16000.00 hingga 16000.00 dan ingin memampatkannya ke dalam julat integer 0-100, kita boleh menggunakan formula seperti berikut:

NewValue = (((OldValue - (-16000.00)) * (100 - 0)) / (16000.00 - (-16000.00))) + 0
Salin selepas log masuk

Ini memastikan julat nilai asal dipetakan secara linear kepada yang baharu julat, mengekalkan nisbah antara nilai.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Julat Nombor Semasa Memelihara Nisbah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan