情報通信工学科 コンピュータ数値解析 担当:中川朋子


データ y を xの3次式 c0 + c1 x + c2 x2 + c3 x3 で近似するとき
この式を使って、xにi番目のデータ xiを代入して得られた予想値 c0 + c1 xi + c2 xi2 + c3 xi3
i番目のデータ  yi との
差は   ( c0 + c1 xi + c2 xi2 + c3 xi3 ) - yi
差の2乗  ( c0 + c1 xi + c2 xi2 + c3 xi3 - yi2 
差の2乗の総和Sは
S = Σi ( c0 + c1 xi + c2 xi2 + c3 xi3 - yi2 

差の2乗の総和Sが最小になるようにc0を選ぶには、
Sをc0で微分したときに 0 になるようにすれば良い。
∂S

∂c0
= 2Σi ( c0 + c1 xi + c2 xi2 + c3 xi3 - yi ) なので
      2Σi ( c0 + c1 xi + c2 xi2 + c3 xi3 - yi ) = 0
c0, c1, c2, ... はΣiとは無関係なので、外に出せて、
i1) c0 + (Σi xi) c1 + (Σi xi2) c2+ (Σi xi3) c3 = Σiyi とも書ける。...............................(*)

差の2乗の総和Sが最小になるようにc1を選ぶには、
Sをc1で微分したときに 0 になるようにすれば良い。
∂S

∂c1
= 2Σi {( c0 + c1 xi + c2 xi2 + c3 xi3 - yi ) xi } なので
      2Σi ( c0 xi + c1 xi xi+ c2 xi2 xi+ c3 xi3 xi - yixi ) = 0
この式は
ixi) c0 + (Σi xi2) c1 + (Σi xi3) c2+ (Σi xi4) c3 = Σiyixi とも書ける。...............................(*)

差の2乗の総和Sが最小になるようにc2を選ぶには、
Sをc2で微分したときに0になるようにすれば良い。
∂S

∂c2
= 2Σi {( c0 + c1 xi + c2 xi2 + c3 xi3 - yi ) xi2 } なので
ixi2) c0 + (Σi xi3) c1 + (Σi xi4) c2+ (Σi xi5) c3 = Σiyixi2 ...............................(*)

差の2乗の総和Sが最小になるようにc3を選ぶには、
Sをc3で微分したときに0になるようにすれば良い。
∂S

∂c3
= 2Σi {( c0 + c1 xi + c2 xi2 + c3 xi3 - yi ) xi3 }なので
ixi3) c0 + (Σi xi4) c1 + (Σi xi5) c2+ (Σi xi6) c3 = Σiyixi3 ...............................(*)

.............(*)のついた式を集めてくると、連立方程式になっている。
( Σi1 ) c0 + (Σi xi ) c1 + (Σi xi2) c2+ (Σi xi3) c3 = Σiyi
ixi ) c0 + (Σi xi2) c1 + (Σi xi3) c2+ (Σi xi4) c3 = Σiyixi
ixi2) c0 + (Σi xi3) c1 + (Σi xi4) c2+ (Σi xi5) c3 = Σiyixi2
ixi3) c0 + (Σi xi4) c1 + (Σi xi5) c2+ (Σi xi6) c3 = Σiyixi3
これを c0, c1, c2, ... について解き、最初に作った近似式に入れると、できあがり。

3次式で近似するときは__元連立方程式を解くことになるね。        m次式で近似する場合

前回作った「連立方程式を解く」プログラムを使おう。