ハーレイ法による求解
関数 f(x)=0 の解をハーレイ法で求めます。式・初期値・許容誤差・最大反復回数を入力すると、近似解と f(解)・反復回数・誤差、反復過程の表と収束グラフを表示します。
入力
例:x^2 - 2、cos(x) - x、exp(x) - 3x、sin(x)。+ - * / ^ や sin/cos/log/sqrt、定数 pi・e が使えます。
例:1e-10
計算結果
近似解 x
1.41421356237
許容誤差の範囲内で収束しました。
f(解) の値
4.4409e-16
反復回数
3 回
最終更新幅
3.6438e-7
残差 |f(x)| の収束(縦軸は対数スケール)
反復過程
| 回 | x | f(x) | 更新幅 |Δx| |
|---|---|---|---|
| 1 | 1 | -1 | 0.3999999 |
| 2 | 1.39999990456 | -0.040000267 | 0.014213293 |
| 3 | 1.414213198 | -1.0306e-6 | 3.6438e-7 |
※ 導関数 f′・f″ は中心差分による数値微分で近似しています。f(x) の形によっては解に収束しない場合があるため、初期値を解の近くに置くと安定します。
計算方法・使い方
- 関数 f(x) と初期値 x₀、許容誤差、最大反復回数を入力すると、ハーレイ法で f(x)=0 の近似解を計算します。
- 式には四則演算(+ - * /)やべき乗(^ または **)、括弧、変数 x、定数 pi・e のほか、sin・cos・tan・exp・log(自然対数)・sqrt・abs などの関数が使えます。2x や 2sin(x) のような省略した掛け算も解釈します。
- ハーレイ法は1階・2階の導関数を使う反復法で、ニュートン法(2次収束)よりも収束が速い3次収束です。解の近くでは反復ごとに有効桁数がおおよそ3倍ずつ増えていきます。
- 近似解とあわせて、f(解)の値・反復回数・最終更新幅を表示し、各反復での x と残差を一覧表と収束グラフで確認できます。
- 初期値が解から遠かったり、関数の形によっては収束しないことがあります。その場合は初期値を解に近づけるか、許容誤差や反復回数を見直してください。
- 導関数は中心差分による数値微分で近似しているため、結果はわずかな誤差を含む近似値です。
関連する計算ツール
関数 f(x) のグラフ描画
数値解析sin(x) や x^2-2 などの数式を入力すると、指定した x の範囲で関数のグラフを自動描画。最大・最小・ゼロ点や代表点の値も同時に確認できます。
計算する →関数 f(x), g(x) のグラフ描画
数値解析2つの数式 f(x) と g(x) を同じ座標平面に色分けで重ねて描画。区間内の最大・最小値や交点も自動で求めます。
計算する →データ点 f(x) のグラフ描画
数値解析(x, y) のデータ点を入力するだけで、折れ線+点のグラフを自動描画。点数・y の最小最大・平均も同時に確認できます。
計算する →データ点 f(x), g(x) のグラフ描画
数値解析2系列の(x, y)データ点を入力すると、f(x)とg(x)を色分けで重ねた折れ線グラフを描き、各系列の点数・最大最小を表示します。
計算する →