\[\newcommand{\N}{\mathbb N} \newcommand{\Z}{\mathbb Z} \newcommand{\Q}{\mathbb Q} \newcommand{\R}{\mathbb R} \newcommand{\C}{\mathbb C} \newcommand{\ba}{\mathbf{a}} \newcommand{\bb}{\mathbf{b}} \newcommand{\bc}{\mathbf{c}} \newcommand{\bd}{\mathbf{d}} \newcommand{\be}{\mathbf{e}} \newcommand{\bff}{\mathbf{f}} \newcommand{\bh}{\mathbf{h}} \newcommand{\bi}{\mathbf{i}} \newcommand{\bj}{\mathbf{j}} \newcommand{\bk}{\mathbf{k}} \newcommand{\bN}{\mathbf{N}} \newcommand{\bn}{\mathbf{n}} \newcommand{\bo}{\mathbf{0}} \newcommand{\bp}{\mathbf{p}} \newcommand{\bq}{\mathbf{q}} \newcommand{\br}{\mathbf{r}} \newcommand{\bs}{\mathbf{s}} \newcommand{\bT}{\mathbf{T}} \newcommand{\bu}{\mathbf{u}} \newcommand{\bv}{\mathbf{v}} \newcommand{\bw}{\mathbf{w}} \newcommand{\bx}{\mathbf{x}} \newcommand{\by}{\mathbf{y}} \newcommand{\bz}{\mathbf{z}} \newcommand{\bzero}{\mathbf{0}} \newcommand{\nv}{\mathbf{0}} \newcommand{\cA}{\mathcal{A}} \newcommand{\cB}{\mathcal{B}} \newcommand{\cC}{\mathcal{C}} \newcommand{\cD}{\mathcal{D}} \newcommand{\cE}{\mathcal{E}} \newcommand{\cF}{\mathcal{F}} \newcommand{\cG}{\mathcal{G}} \newcommand{\cH}{\mathcal{H}} \newcommand{\cI}{\mathcal{I}} \newcommand{\cJ}{\mathcal{J}} \newcommand{\cK}{\mathcal{K}} \newcommand{\cL}{\mathcal{L}} \newcommand{\cM}{\mathcal{M}} \newcommand{\cN}{\mathcal{N}} \newcommand{\cO}{\mathcal{O}} \newcommand{\cP}{\mathcal{P}} \newcommand{\cQ}{\mathcal{Q}} \newcommand{\cR}{\mathcal{R}} \newcommand{\cS}{\mathcal{S}} \newcommand{\cT}{\mathcal{T}} \newcommand{\cU}{\mathcal{U}} \newcommand{\cV}{\mathcal{V}} \newcommand{\cW}{\mathcal{W}} \newcommand{\cX}{\mathcal{X}} \newcommand{\cY}{\mathcal{Y}} \newcommand{\cZ}{\mathcal{Z}} \newcommand{\pv}{\overline} \newcommand{\re}{\operatorname{Re}} \newcommand{\im}{\operatorname{Im}} \newcommand{\arsinh}{\operatorname{ar\,sinh}} \newcommand{\arcosh}{\operatorname{ar\,cosh}} \newcommand{\artanh}{\operatorname{ar\,tanh}} \newcommand{\diag}{\operatorname{diag}} \newcommand{\proj}{\operatorname{proj}} \newcommand{\rref}{\operatorname{rref}} \newcommand{\rank}{\operatorname{rank}} \newcommand{\Span}{\operatorname{span}} \newcommand{\vir}{\operatorname{span}} \renewcommand{\dim}{\operatorname{dim}} \newcommand{\alg}{\operatorname{alg}} \newcommand{\geom}{\operatorname{geom}} \newcommand{\id}{\operatorname{id}} \newcommand{\norm}[1]{\lVert #1 \rVert} \newcommand{\tp}[1]{#1^{\top}} \renewcommand{\d}{\mathrm{d}} \newcommand{\sij}[2]{\bigg/_{\mspace{-15mu}#1}^{\,#2}} \newcommand{\qedhere}{} \newcommand{\taumatrix}[1]{\left[\!\!#1\!\!\right]} \newenvironment{augmatrix}[1]{\left[\begin{array}{#1}}{\end{array}\right]} \newenvironment{vaugmatrix}[1]{\left|\begin{array}{#1}}{\end{array}\right|}\]

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

\[f(x)=c_0+c_1x+\cdots+c_{n-1}x^{n-1}+c_nx^n,\]

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ä

\[\begin{split}\begin{augmatrix}{c} c_0 + c_1x_1 + \cdots + c_{n-1}x_1^{n-1} + c_nx_1^n \\ c_0 + c_1x_2 + \cdots + c_{n-1}x_2^{n-1} + c_nx_2^n \\ \vdots \\ c_0 + c_1x_m + \cdots + c_{n-1}x_m^{n-1} + c_nx_m^n \end{augmatrix} = \begin{augmatrix}{ccccc} 1 & x_1 & \cdots & x_1^{n-1} & x_1^n \\ 1 & x_2 & \cdots & x_2^{n-1} & x_2^n \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ 1 & x_m & \cdots & x_m^{n-1} & x_m^n \end{augmatrix} \begin{augmatrix}{c} c_0 \\ c_1 \\ \vdots \\ c_{n-1} \\ c_n \end{augmatrix} = \begin{augmatrix}{c} y_1 \\ y_2 \\ \vdots \\ y_m \end{augmatrix},\end{split}\]

jolle etsitään pienimmän neliösumman ratkaisu. Yhtälöryhmässä esiintyvää \(m \times (n+1)\)-kerroinmatriisia

\[\begin{split}V=\begin{augmatrix}{cccccc} 1 & x_1 & x_1^2 & \cdots & x_1^{n-1} & x_1^{n}\\ 1 & x_2 & x_2^2 & \cdots & x_2^{n-1} & x_2^{n}\\ \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ 1 & x_m & x_m^2 & \cdots & x_m^{n-1} & x_m^{n} \end{augmatrix}\end{split}\]

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 7.3.1

Mittaustuloksina saatiin \((-1,2)\), \((1,2)\), \((3,4)\) ja \((5,6)\). Sovita tähän pisteistöön

  1. suora \(y=ax+b\),
  2. paraabeli \(y=ax^2+bx+c\).
Ratkaisu
  1. 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 V\bc = \begin{augmatrix}{rc} -1 & 1 \\ 1 & 1 \\ 3 & 1 \\ 5 & 1 \end{augmatrix} \begin{augmatrix}{c} a \\ b \end{augmatrix} = \begin{augmatrix}{c} 2 \\ 2 \\ 4 \\ 6 \end{augmatrix} = \by.\end{split}\]

    Normaaliryhmään liittyviksi matriiseiksi lasketaan

    \[\begin{split}\tp{V}V = \tp{\begin{augmatrix}{rc} -1 & 1 \\ 1 & 1 \\ 3 & 1 \\ 5 & 1 \end{augmatrix}} \begin{augmatrix}{rc} -1 & 1 \\ 1 & 1 \\ 3 & 1 \\ 5 & 1 \end{augmatrix} = \begin{augmatrix}{cc} 36 & 8 \\ 8 & 4 \end{augmatrix}\qquad\text{ja}\qquad \tp{V}\by = \tp{\begin{augmatrix}{rc} -1 & 1 \\ 1 & 1 \\ 3 & 1 \\ 5 & 1 \end{augmatrix}} \begin{augmatrix}{c} 2 \\ 2 \\ 4 \\ 6 \end{augmatrix} = \begin{augmatrix}{c} 42 \\ 14 \end{augmatrix}.\end{split}\]

    Normaaliryhmän \(\tp{V}V\bc = \tp{V}\by\) kokonaismatriisin redusoiduksi riviporrasmuodoksi saadaan

    \[\begin{split}\begin{augmatrix}{cc|c} 1 & 0 & 0{,}7 \\ 0 & 1 & 2{,}1 \end{augmatrix},\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\).

  2. 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 V\bc = \begin{augmatrix}{crc} 1 & -1 & 1 \\ 1 & 1 & 1 \\ 9 & 3 & 1 \\ 25 & 5 & 1 \end{augmatrix} \begin{augmatrix}{c} a \\ b \\ c \end{augmatrix} = \begin{augmatrix}{c} 2 \\ 2 \\ 4 \\ 6 \end{augmatrix} = \by.\end{split}\]

    Normaaliryhmään liittyviksi matriiseiksi lasketaan

    \[\begin{split}\begin{aligned} \tp{V}V &= \tp{\begin{augmatrix}{crc} 1 & -1 & 1 \\ 1 & 1 & 1 \\ 9 & 3 & 1 \\ 25 & 5 & 1 \end{augmatrix}} \begin{augmatrix}{crc} 1 & -1 & 1 \\ 1 & 1 & 1 \\ 9 & 3 & 1 \\ 25 & 5 & 1 \end{augmatrix} = \begin{augmatrix}{ccc} 708 & 152 & 36 \\ 152 & 36 & 8 \\ 36 & 8 & 3 \end{augmatrix} \qquad\text{ja} \\ \tp{V}\by &= \tp{\begin{augmatrix}{crc} 1 & -1 & 1 \\ 1 & 1 & 1 \\ 9 & 3 & 1 \\ 25 & 5 & 1 \end{augmatrix}} \begin{augmatrix}{c} 2 \\ 2 \\ 4 \\ 6 \end{augmatrix} = \begin{augmatrix}{c} 190 \\ 42 \\ 14 \end{augmatrix}. \end{aligned}\end{split}\]

    Normaaliryhmän \(\tp{V}V\bc = \tp{V}\by\) kokonaismatriisin redusoiduksi riviporrasmuodoksi saadaan

    \[\begin{split}\begin{augmatrix}{ccc|c} 1 & 0 & 0 & 0{,}125 \\ 0 & 1 & 0 & 0{,}200 \\ 0 & 0 & 1 & 1{,}975 \end{augmatrix},\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.

../_images/derivaattapolynomisovitteet.svg

Kuva 1. Ensimmäisen ja toisen asteen polynomisovitteet pisteistöön.

Palautusta lähetetään...

Palautus on vastaanotettu.