Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk mencari punca persamaan menggunakan kaedah pembahagi dua ular sawa

Bagaimana untuk mencari punca persamaan menggunakan kaedah pembahagi dua ular sawa

PHPz
Lepaskan: 2024-03-01 14:43:24
ke hadapan
1340 orang telah melayarinya

Bagaimana untuk mencari punca persamaan menggunakan kaedah pembahagi dua ular sawa

Untuk menyelesaikan punca persamaan menggunakan kaedah pembahagian dua, anda boleh mengikuti langkah berikut:

  1. Tentukan fungsi untuk mengira nilai persamaan. Dengan mengandaikan bahawa persamaan yang ingin kita selesaikan ialah f(x)=0, maka fungsi ini boleh ditulis dalam bentuk def f(x):.

  2. Tentukan skop carian dikotomi. Berdasarkan sifat persamaan, pilih sempadan kiri dan sempadan kanan supaya f (sempadan kiri) dan f (sempadan kanan) mempunyai tanda yang bertentangan. Iaitu, jika f(sempadan kiri) adalah positif dan f(sempadan kanan) adalah negatif, atau f(sempadan kiri) adalah negatif dan f(sempadan kanan) adalah positif.

  3. Lelaran ke atas julat carian menggunakan kaedah belah dua sehingga anda menemui punca persamaan. Langkah-langkah khusus adalah seperti berikut: a. Kira titik tengah julat carian pertengahan=(sempadan kiri + sempadan kanan)/2. b. Hitung nilai f(pertengahan). c. Tentukan tanda f(pertengahan) dan kemas kini julat carian:

    • Jika f(pertengahan) ialah 0, ia bermakna pertengahan ialah punca persamaan, dan lelaran tamat.
    • Jika tanda-tanda f(pertengahan) dan f(sempadan kiri) adalah sama, ini bermakna puncanya berada di separuh kanan, dan sempadan kiri dikemas kini kepada pertengahan.
    • Jika tanda-tanda f(pertengahan) dan f(sempadan kanan) adalah sama, ini bermakna akarnya berada di separuh kiri, dan sempadan kanan dikemas kini kepada pertengahan. d. Ulangi langkah a-c sehingga anda menemui punca-punca persamaan.

Berikut ialah contoh kod yang menggunakan kaedah pembahagian dua untuk menyelesaikan punca persamaan:

def f(x):
# 定义方程的函数
return x**2 - 4

def find_root():
left = -10# 左边界
right = 10# 右边界

while right - left > 1e-6:# 设置迭代的终止条件
mid = (left + right) / 2# 计算中点

if f(mid) == 0:# 如果中点处的函数值为0,说明找到了根
return mid

if f(mid) * f(left) < 0:# 根在左半边
right = mid
else:# 根在右半边
left = mid

return mid

root = find_root()
print("方程的根为:", root)
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan persamaan f(x)=x^2-4 dan menggunakan kaedah pembahagian dua untuk menyelesaikan punca persamaan. Dalam gelung sementara, kami sentiasa mengemas kini sempadan kiri dan kanan julat carian sehingga kami menemui punca persamaan. Akhirnya, nilai akar adalah output.

Atas ialah kandungan terperinci Bagaimana untuk mencari punca persamaan menggunakan kaedah pembahagi dua ular sawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:lsjlt.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan