2011年5月15日日曜日

2直線の交点の計算

y=ax+b で定義される2直線をランダムに生成し、その2直線が交わる交点 (x,y) を求める例題です。

反復により一番誤差の少ない点を求める方法と、セカント法による方法を比較しています。
(逆行列を計算してと言う方法もありますが、ここでは単純な計算例ということで。。)

セカント法は、非線型方程式(f(x)=0)の解を求める手法ですが、f(x) の定義部に当たる nw_func() の定義を修正すれば直線方程式の解を求めることもできます。

例題では、両手法の反復回数、探索範囲を同じにしていますが、セカント法の方が誤差を小さく計算できていることが分かります。

実行結果

0 件のコメント:

コメントを投稿