<<展開

セカント法による求根

概要

セカント法(割線法)は、関数が0になる変数の値を求めることができる球根アルゴリズムで、ニュートン法では微分できることが必要でしたが、その必要はなく一つ前の解との差分から傾きを計算する手法です.ここでは一次元のみ紹介します.セカント法はニュートン法と異なり二次収束しないため、ニュートン法ほどの収束の速さは保証されませんが関数によっては早くなります.
Facebookシェア Twitterツイート LINEで送る このエントリーをはてなブックマークに追加
この章を学ぶ前に必要な知識
0
条件
  • 関数と二つの初期値が必要
効果
  • f(x)=0となるような解を求めることができる
ポイント
  • ニュートン法のような二次収束は保証されないため、大方ニュートン法より遅い
  • 微分が困難な関数で適用可能
  • ここでは1次元の場合を紹介
  • ニュートン法の微分を二点の傾きに置き換えただけ

解 説

セカント法(割線法)は、ニュートン法では微分できることが必要でしたが、その必要はなく一つ前の解との差分から傾きを計算する手法です.ここでは一次元のみ紹介します. セカント法はニュートン法と異なり二次収束がしないため、ニュートン法ほどの収束の速さは保証されませんが、与えられる関数によっては早くなります.
セカント法概要
ニュートン法についてはリンク参照
セカント法は下記の更新式を元にして以下の手順で関数がゼロになる変数の値を求めます.(1次元の場合) セカント法の手順 1. 関数\(f(x)\)と解に近い2つの初期値\(x_n, x_{n-1}\)を用意. 2. 過去最新の二つの解とf(x)から傾きを計算し、更新式で新しい\(x_{n+1}\)を計算 3. 2.を必要な精度になるまで繰り返し計算. セカント法の更新式 $$x_{n+1} = x_n - f(x_n)\frac{x_n - x_{n-1}}{f(x_n) - f(x_{n-1})}\\ = \frac{x_{n-1}f(x_n) - x_nf(x_{n-1})}{f(x_n) - f(x_{n-1})}$$ 上記の式はニュートンの更新式 $$x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}$$ の\(f'(x_n)\)を $$f'(x_n) \approx \frac{f(x_n)-f(x_{n-1})}{x_n-x_{n-1}}$$ としたものであることが容易にわかります. (ただし、余談ですがセカント法の方が先に使用されていました)
セカント法の詳細
この章を学んで新たに学べる
Comments

Reasons
>>隠す

知識: ニュートン法による求根
求根アルゴリズムとして有名である頻繁に使用されるニュートン法(1次元の場合)について紹介します.ニュートン法によって関数の値がゼロになる値等を算出します.探索する初期値に依存し、解は一つしか見つけられませんが、比較的高速です.導関数が適切に得られる必要があります.