二分法 (數學)

二分法(),是一種方程式根的近似值求法,屬於簡化版的調日法。

演算法
若要求已知函數 f(x) = 0 的根 (x 的解),則:

先找出一個區間 [a, b],使得f(a)与f(b)异号。根据介值定理,这个区间内一定包含著方程式的根。

求該區間的中點 m = \frac{a+b}{2},並找出 f(m) 的值。

f(m) 與 f(a) 正負號相同則取 [m, b] 為新的區間, 否則取 [a, m].

重複第2和第3步至理想精確度為止。

例子
例: 求方程 \sinh x = \cos x \! 的解, 其中 sinh 是雙曲正弦、cos 是餘弦 及 x 以弧度量度.

定義 f(x) = \sinh x-\cos x\!。因此這裏是要求 f(x) = 0 的根。

畫出 y = f(x) 可大約得知其根約在 0.5 和 1 之間,故使初始區間的 [0.5, 1]。

此區間之中點為 0.75。

f(0.5) ≈ -0.3565, f(0.75) ≈ 0.0906,其正負號不同,故令新區間為 [0.5, 0.75]

又新區間的中點為 0.625, 而 f(0.625) ≈ -0.1445, 與 f(0.5) 正負號相同,故新區間為 [0.625, 0.75]。

不斷重複運算即得 f(x) = 0 的根約為 0.7033。

偽代碼
二分法可用伪代码表示如下:
-{}-輸入 f(x) 的定義
輸入 a 和 b 為初始區間
輸入 e 為目標誤差

REPEAT:
m:= (a + b) / 2
IF f(m) * f(a)

参考文献
外部链接

参见

  • 介值定理

评论 (0)

  • 还没有评论,来抢沙发吧。