主題
Search

割線法


SecantMethod

一種 求根 演算法,它假設函式在感興趣的區域內近似為線性。每次改進都取為近似線與軸相交的點。割線法僅保留最近的估計值,因此根不一定保持在括號內。割線法在 Wolfram 語言 中作為未公開的選項實現Method -> SecantFindRoot[eqn, {x, x0, x1}].

演算法 收斂時,其收斂階數為

 lim_(k->infty)|epsilon_(k+1)| approx C|epsilon|^phi,
(1)

其中 C 是一個常數,phi黃金比例

 f^'(x_(n-1)) approx (f(x_(n-1))-f(x_(n-2)))/(x_(n-1)-x_(n-2))
(2)
 f(x_n) approx f(x_(n-1))+f^'(x_(n-1))(x_n-x_(n-1))=0
(3)
 f(x_(n-1))+(f(x_(n-1))-f(x_(n-2)))/(x_(n-1)-x_(n-2))(x_n-x_(n-1))=0,
(4)

所以

 x_n=x_(n-1)-(f(x_(n-1))(x_(n-1)-x_(n-2)))/(f(x_(n-1))-f(x_(n-2))).
(5)

割線法可以在 Wolfram 語言 中實現為

  SecantMethodList[f_, {x_, x0_, x1_}, n_] :=
    NestList[Last[#] - {0, (Function[x, f][Last[#]]*
      Subtract @@ #)/Subtract @@
      Function[x, f] /@ #}&, {x0, x1}, n]

另請參閱

試位法, 求根演算法

使用 探索

參考文獻

Press, W. H.; Flannery, B. P.; Teukolsky, S. A.; 和 Vetterling, W. T. "割線法、試位法和 Ridders 法。" 《FORTRAN 數值食譜:科學計算的藝術》第 2 版第 9.2 節。英國劍橋:劍橋大學出版社,pp. 347-352, 1992。

在 上被引用

割線法

引用為

Weisstein, Eric W. "割線法。" 來自 Web 資源。 https://mathworld.tw/SecantMethod.html

主題分類