情報通信工学科 コンピュータ数値解析 担当:中川朋子
データ y を xのm次式 c
0
+ c
1
x + c
2
x
2
+ c
3
x
3
+ ... + c
m
x
m
で近似するとき
この式を使って、xに i番目のデータ x
i
を代入して得られた予想値 と データy
i
との差 は
予想値 c
0
+ c
1
x
i
+ c
2
x
i
2
+ c
3
x
i
3
+ ... + c
m
x
m
データ y
i
差 ( c
0
+ c
1
x
i
+ c
2
x
i
2
+ c
3
x
i
3
+ ... + c
m
x
m
) - y
i
差の2乗 ( c
0
+ c
1
x
i
+ c
2
x
i
2
+ c
3
x
i
3
+ ... + c
m
x
m
- y
i
)
2
差の2乗の総和Sは
S = Σ
i
( c
0
+ c
1
x
i
+ c
2
x
i
2
+ c
3
x
i
3
+ ... + c
m
x
m
- y
i
)
2
差の2乗の総和Sが最小になるようにc
0
を選ぶには、
Sをc
0
で微分したときに0になるようにすれば良い。
∂S/∂c
0
= 0
∂S/∂c
0
= 2Σ
i
( c
0
+ c
1
x
i
+ c
2
x
i
2
+ c
3
x
i
3
+ ... + c
m
x
m
- y
i
)
よって 2Σ
i
( c
0
+ c
1
x
i
+ c
2
x
i
2
+ c
3
x
i
3
+ ... + c
m
x
i
m
- y
i
) = 0
この式は Σ
i
c
0
+ Σ
i
c
1
x
i
+ Σ
i
c
2
x
i
2
+ Σ
i
c
3
x
i
3
+ ... + c
m
x
i
m
- Σ
i
y
i
= 0 とも書ける。
c
0
, c
1
, c
2
, ... はΣ
i
とは無関係なので、外に出せて、
この式は (Σ
i
1) c
0
+ (Σ
i
x
i
) c
1
+ (Σ
i
x
i
2
) c
2
+ (Σ
i
x
i
3
) c
3
+ ... + c
m
x
i
m
= Σ
i
y
i
とも書ける。...............................(*)
差の2乗の総和Sが最小になるようにc
1
を選ぶには、
Sをc
1
で微分したときに0になるようにすれば良い。
∂S/∂c
1
= 0
∂S/∂c
1
= 2Σ
i
{( c
0
+ c
1
x
i
+ c
2
x
i
2
+ c
3
x
i
3
+ ... + c
m
x
i
m
- y
i
) x
i
}
よって 2Σ
i
( c
0
x
i
+ c
1
x
i
x
i
+ c
2
x
i
2
x
i
+ c
3
x
i
3
x
i
+ ... + c
m
x
i
m
x
i
- y
i
x
i
) = 0
この式は (Σ
i
x
i
) c
0
+ (Σ
i
x
i
2
) c
1
+ (Σ
i
x
i
3
) c
2
+ (Σ
i
x
i
4
) c
3
+ ... + (Σ
i
x
i
m+1
) c
m
= Σ
i
y
i
x
i
とも書ける。...............................(*)
差の2乗の総和Sが最小になるようにc
2
を選ぶには、
Sをc
2
で微分したときに0になるようにすれば良い。
∂S/∂c
2
= 0
∂S/∂c
2
= 2Σ
i
{( c
0
+ c
1
x
i
+ c
2
x
i
2
+ c
3
x
i
3
- y
i
) x
i
2
} = 0
この式は (Σ
i
x
i
2
) c
0
+ (Σ
i
x
i
3
) c
1
+ (Σ
i
x
i
4
) c
2
+ (Σ
i
x
i
5
) c
3
+ ... + (Σ
i
x
i
m+2
) c
m
= Σ
i
y
i
x
i
2
とも書ける。...............................(*)
差の2乗の総和Sが最小になるようにc
m
を選ぶには、
Sをc
m
で微分したときに0になるようにすれば良い。
∂S/∂c
m
= 0
∂S/∂c
m
= 2Σ
i
{( c
0
+ c
1
x
i
+ c
2
x
i
2
+ c
3
x
i
3
- y
i
) x
i
m
} = 0
この式は (Σ
i
x
i
m
) c
0
+ (Σ
i
x
i
m+1
) c
1
+ (Σ
i
x
i
m+2
) c
2
+ (Σ
i
x
i
m+3
) c
3
+ ... + (Σ
i
x
i
m+m
) c
m
= Σ
i
y
i
x
i
m
とも書ける。...............................(*)
.............(*)のついた式を集めてくると、連立方程式になっている。
( Σ
i
1 ) c
0
+ (Σ
i
x
i
) c
1
+ (Σ
i
x
i
2
) c
2
+ (Σ
i
x
i
3
) c
3
+ ... + (Σ
i
x
i
m
) c
m
= Σ
i
y
i
(Σ
i
x
i
) c
0
+ (Σ
i
x
i
2
) c
1
+ (Σ
i
x
i
3
) c
2
+ (Σ
i
x
i
4
) c
3
+ ... + (Σ
i
x
i
m+1
) c
m
= Σ
i
y
i
x
i
(Σ
i
x
i
2
) c
0
+ (Σ
i
x
i
3
) c
1
+ (Σ
i
x
i
4
) c
2
+ (Σ
i
x
i
5
) c
3
+ ... + (Σ
i
x
i
m+2
) c
m
= Σ
i
y
i
x
i
2
:
(Σ
i
x
i
m
) c
0
+ (Σ
i
x
i
m+1
) c
1
+ (Σ
i
x
i
m+2
) c
2
+ (Σ
i
x
i
m+3
) c
3
+ ... + (Σ
i
x
i
m+m
) c
m
= Σ
i
y
i
x
i
m
これを c
0
, c
1
, c
2
, ... について解き、最初に作った近似式に入れると、できあがり。
m次式で近似するときは__元連立方程式を解くことになるね。
前回作った「連立方程式を解く」プログラムを使おう。