close

1. Bisection method 二分法

首先把題目給的兩個邊界x1和x2帶入f(x)當中算出f(x1)和f(x2),取x1和x2的中間值得到x3 (也就是x3=(x1+x2)/2) 並計算f(x3)。

如果f(x1)*f(x3)<0,代表0點在x1和x3之間,令新的x1=原本的x1,新的x2=x3。

如果f(x1)*f(x3)>0,代表0點在x2和x3之間,令新的x1=x3,新的x2=原本的x2。

維基百科的例子而言,要找f(x)=x^3-x-2的根,左右邊界為1和2

step1. x1=1, x2=2, f(x1)=-2, f(x2)=4, x3=(1+2)/2=1.5, f(x3)=-0.125

step2. 因為f(x2)*f(x3)<0, 所以f(x)的根在x2和x3之間

step3. 令x1=1.5, x2=2,依此步驟繼續找根直到誤差夠小為止

Iteration
1 1 2 1.5 −0.125
2 1.5 2 1.75 1.6093750
3 1.5 1.75 1.625 0.6660156
4 1.5 1.625 1.5625 0.2521973
5 1.5 1.5625 1.5312500 0.0591125
6 1.5 1.5312500 1.5156250 −0.0340538

(維基百科用 bisection method 做出來的表格)


2. False position method

唯一和 Bisection method 不一樣的地方就是找到x3的方法,在 false position method 當中算 x3 的式子比較複雜

image

每次修改x1和x2的方法也跟 Bisection method 一樣


3. Modified false position method

沿用了 false position method 找x3的方法,但是當x1連續兩次不變或x2連續兩次不變時,會在第二次把不變的值砍半

舉例而言,

x1=a, x2=b, x3=c

x1=a, x2=c, x3=d

x1=a/2, x2=d, x3=e

可以看到原本x1應該要不變,但是在 modified false position method 裡面x1或x2不能連續兩次不變,會在第二次把應該不變的值直接砍半


4. Secant method 割線法

決定x3的方法和 false position method 一樣,但是固定會把每次的x2, x3變成下次的x1, x2


如果有寫錯還請不吝賜教

arrow
arrow
    創作者介紹
    創作者 Worldexplorer 的頭像
    Worldexplorer

    worldexplorer

    Worldexplorer 發表在 痞客邦 留言(0) 人氣()