Sovellus: polynomin sovittaminen pisteistöön¶
Taulukkolaskentaohjelmat tarjoavat usein mahdollisuuden sovittaa lineaarinen tai korkeampiasteinen polynomimalli annettuun mittauspisteistöön. Sen tarkoituksena on antaa yksinkertainen, ikään kuin paras mahdollinen kuva pisteiden sijoittumisesta tasoon. Tarkastellaan seuraavaksi sitä, miten ohjelma tämän oikein tekee.
Oletetaan tason pisteet \((x_1,y_1), (x_2, y_2), \ldots, (x_m,y_m)\) tunnetuiksi ja yritetään löytää polynomifunktio
joka kuvaa niiden sijoittumista tasoon. Tuntemattomina ovat siis polynomin kertoimet \(c_0,c_1,\ldots,c_{n-1},c_n\). Niiden määrittämiseksi kirjoitetaan yhtälöryhmä
jolle etsitään pienimmän neliösumman ratkaisu. Yhtälöryhmässä esiintyvää \(m \times (n+1)\)-kerroinmatriisia
kutsutaan Vandermonden matriisiksi, ja sillä on monia mielenkiintoisia ominaisuuksia. Menemättä niihin syvemmälle todetaan, että pienimmän neliösumman menetelmä toimii käytännössä silloin, kun mittauspisteitä on enemmän kuin tuntemattomia kertoimia, eli kun \(m > n + 1\), missä \(m\) on mittapisteiden lukumäärä ja \(n\) kysytyn polynomifunktion aste.
Esimerkki.
Mittaustuloksina saatiin \((-1,2)\), \((1,2)\), \((3,4)\) ja \((5,6)\). Sovita tähän pisteistöön
- suora \(y=ax+b\),
- paraabeli \(y=ax^2+bx+c\).
Kirjoitetaan mittauspisteiden avulla yhtälöryhmä
\[\begin{split}\begin{cases} y(-1)=-a+b=2\\ y(1)=a+b=2\\ y(3)=3a+b=4 \\ y(5)=5a+b=6, \end{cases}\qquad\text{eli}\qquad \begin{bmatrix} -1 & 1 \\ 1 & 1 \\ 3 & 1 \\ 5 & 1 \end{bmatrix}\mathbf{c}= \begin{bmatrix} 2 \\ 2 \\ 4 \\ 6 \end{bmatrix}.\end{split}\]Etsitään normaaliryhmän
\[\begin{split}\begin{bmatrix} -1 & 1 \\ 1 & 1 \\ 3 & 1 \\ 5 & 1 \end{bmatrix}^T \begin{bmatrix} -1 & 1 \\ 1 & 1 \\ 3 & 1 \\ 5 & 1 \end{bmatrix}\mathbf{c}= \begin{bmatrix} 38 & 8 \\ 8 & 4 \end{bmatrix}\mathbf{c}= \begin{bmatrix} 42 \\ 14 \end{bmatrix} = \begin{bmatrix} -1 & 1 \\ 1 & 1 \\ 3 & 1 \\ 5 & 1 \end{bmatrix}^T \begin{bmatrix} 2 \\ 2 \\ 4 \\ 6 \end{bmatrix}\end{split}\]ratkaisuja Gaussin eliminoinnilla. Kokonaismatriisin redusoiduksi riviporrasmuodoksi saadaan
\[\begin{split}\begin{bmatrix} 1 & 0 & 0{,}7 \\ 0 & 1 & 2{,}1 \end{bmatrix},\end{split}\]eli \(a = 0{,}7\) ja \(b = 2{,}1\). Tämän pienimmän neliösumman ratkaisun antama sovite on siis \(y = 0{,}7x + 2{,}1\).
Kirjoitetaan mittauspisteiden avulla yhtälöryhmä
\[\begin{split}\begin{cases} y(-1)=a-b+c=2\\ y(1)=a+b+c=2\\ y(3)=9a+3b+c=4 \\ y(5)=25a+5b+c=6, \end{cases}\qquad\text{eli}\qquad \begin{bmatrix} 1 & -1 & 1 \\ 1 & 1 & 1 \\ 9 & 3 & 1 \\ 25 & 5 & 1 \end{bmatrix}\mathbf{c}= \begin{bmatrix} 2 \\ 2 \\ 4 \\ 6 \end{bmatrix}.\end{split}\]Etsitään normaaliryhmän
\[\begin{split}\begin{bmatrix} 1 & -1 & 1 \\ 1 & 1 & 1 \\ 9 & 3 & 1 \\ 25 & 5 & 1 \end{bmatrix}^T \begin{bmatrix} 1 & -1 & 1 \\ 1 & 1 & 1 \\ 9 & 3 & 1 \\ 25 & 5 & 1 \end{bmatrix}\mathbf{c}= \begin{bmatrix} 708 & 152 & 36 \\ 152 & 36 & 8 \\ 36 & 8 & 3 \end{bmatrix}\mathbf{c}= \begin{bmatrix} 190 \\ 42 \\ 14 \end{bmatrix} = \begin{bmatrix} 1 & -1 & 1 \\ 1 & 1 & 1 \\ 9 & 3 & 1 \\ 25 & 5 & 1 \end{bmatrix}^T \begin{bmatrix} 2 \\ 2 \\ 4 \\ 6 \end{bmatrix}\end{split}\]ratkaisuja Gaussin eliminoinnilla. Kokonaismatriisin redusoiduksi riviporrasmuodoksi saadaan
\[\begin{split}\begin{bmatrix} 1 & 0 & 0 & 0{,}125 \\ 0 & 1 & 0 & 0{,}200 \\ 0 & 0 & 1 & 1{,}975 \end{bmatrix},\end{split}\]eli \(a = 0{,}125\), \(b = 0{,}200\) ja \(c = 1{,}975\). Tämän pienimmän neliösumman ratkaisun antama sovite on siis \(y = 0{,}125x^2 + 0{,}200x + 1{,}975\).
Piirretään lopuksi vielä kuvat näistä ensimmäisen ja toisen asteen sovitteista.