計算工学I 電子情報工学科5年(前期) 7回目(21/5/2015) 担当:古山彰一 ([email protected]) 1.0 2.0 3.0 4.0 5.0 Y 2.0 2.5 2.9 3.5 4.4 1 • でもやっぱり直線に乗るかどうかは現象 次第。 • この場合も曲線にしたほうがより良いか も? • ということで、曲線の式も求められるよう にしよう!というのが今日のお題。 2 3 • プロットすると(→)、大体直線にこれらの データがのりそう。 • グラフ中の赤い線の関数を求める…とい うのが前回の話。 4 X 5 • 次の5点があったとする。 0 1 2 3 4 5 関数として1次式を使い場合の最小2乗法の 計算手順は以下の通りだった(復習その1) • 直線の式なので、とりあえず直線の式を y=ax+b とする。 • 適切なa,bはどうなるだろうか? • 直線の式に1点目のデータ(1.0, 2.0)を代入してみる。 • 2 = a + b となる。直線がこの点を通っていれば右辺は2となり、2=2となるはず。 • しかし、直線は点の「近く」を通る、としているので誤差がある。その誤差は、絶 対値を用いて|a+b-2|で表すことができる。 • 同様にして • x=2では|2a+b-2.5|, x=3では|3a+b-2.9|, x=4では|4a+b-3.5|, x=5では|5a+b-4.4|となる。 • 誤差の合計(要は足し合わせる)をE0とすると、 E0= |a+b-2|+|2a+b-2.5|+|3a+b-2.9|+|4a+b-3.5|+|5a+b-4.4| となる。絶対値が扱い辛いので、各項の二乗の合計を考えてそれをEとする。 復習その2 • 誤差の最小値を求めて直線の式を導出する (復習その3) a,bについて連立方程式を解くと、a= 0.58, b=1.32 が導出され、 目的の直線の式は、 y=0.58x + 1.32 と求められる。 ここまでは先週の話だが、 基本的には関数が一般化しても、計算の流れは同じ 一般的な最小二乗法 • • (4.26) ここを書き換える ここで式(4.26)を書き直すと、 x b のように書け る。 ここで、A,bはデータ点から定まる値なので、この式は、a1〜akについてk個の連立方程式となり、以下のように掃き出せ る。aが求まることで近似関数も導出できる。 つまり 課題 最小2乗法によるプログラムを作成しなさい。 1.任意の点数に対応し、近似関数として2つの一次独立関数の和で表せるものが選 べるプログラムを作成しなさい。 2.p.83例題2、p.87問5、p.88問7をそのプログラムを用いて解きなさい。 3.上記2.の3つの問題について、Gnuplotを用いて、求められた関数と、入力した点を グラフに描く(本ファイルのgnuplotの説明のページにあるようなグラフを作成) 4.プログラムソースコード、3つの問題の入出力結果、それぞれのgnuplotでのグラフ をレポートとしてまとめる。 上記課題をレポートにまとめてpdfファイルにしたうえで、本日中に古山までメー ルで提出([email protected])しなさい。 なおファイル名は、07i5??.pdf とする。??は二桁の出席番号。
© Copyright 2024 ExpyDoc