Cara Penghampiran Berfungsi
Carian anggaran, serupa dengan carian binari, membolehkan penghampiran nilai atau parameter yang cekap dalam domain sebenar yang ditentukan. Tidak seperti carian binari, ia beroperasi secara bebas daripada sekatan fungsi monotonik.
Algoritma:
-
Siasatan titik tersebar sekata: Kira jarak/ ralat untuk setiap titik dalam selang carian.
-
Kenal pasti titik ralat minimum: Tentukan titik dengan ralat paling rendah.
-
Tingkatkan ketepatan secara rekursif: Laraskan selang carian di sekitar titik ralat minimum dan perhalusi saiz langkah carian.
-
Penyelesaian akhir: Ulang sehingga ketepatan yang diingini dicapai.
Kebolehgunaan:
Carian anggaran mencari aplikasi dalam pelbagai senario, termasuk:
- Menganggarkan penyelesaian kepada persamaan transendental
- Pemasangan polinomial atau parametrik fungsi
- Menyelesaikan persamaan yang sukar apabila fungsi songsang tidak tersedia
- Penghampiran nilai tidak monotonik atau tidak berfungsi
Pelaksanaan:
Kod C yang disediakan melaksanakan carian anggaran algoritma:
class approx { ... };
...
for (aa.init(0.0,10.0,0.1,6,&ee); !aa.done; aa.step()) { ... }
Penggunaan:
- Takrifkan lebih kurang objek (aa).
- Mulakan dengan parameter a0, a1, da, n dan penunjuk kepada pembolehubah ralat ee.
- Lelaran melalui gelung untuk melaksanakan carian anggaran. Penyelesaian terakhir disimpan dalam aa.a.
Isi Utama:
- Pemilihan selang dan saiz langkah yang teliti adalah penting.
- Algoritma meneroka kemungkinan berbilang penyelesaian untuk padanan tidak berfungsi melalui rekursif subbahagian.
- Padan berbilang dimensi bersarang memerlukan pertimbangan yang teliti untuk prestasi.
Atas ialah kandungan terperinci Bagaimanakah Carian Anggaran Mencari Penyelesaian Anggaran dengan Cekap dalam Domain Bukan Monotonik?. 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