luento 7users.jyu.fi/~majkir/numen/luento7_flat.pdfluento 7 numeeriset menetelm at 10.4.2013 15 / 43...
TRANSCRIPT
Numeeriset menetelmat TIEA381
Luento 7
Kirsi Valjus
Jyvaskylan yliopisto
Luento 7 () Numeeriset menetelmat 10.4.2013 1 / 43
Luennon 7 sisalto
Interpolointi ja approksimointi
Interpolaatiovirheesta
Paloittainen interpolointi
Luento 7 () Numeeriset menetelmat 10.4.2013 2 / 43
Luku5: Interpolointi ja approksimointi Interpolaatiovirheesta
Interpolaatiovirheesta
Tasavalisella pisteistolla interpolaatiovirhetta voidaan arvioidaseuraavasti:
Lause 5.4 Olkoon a = x0 < x1 < · · · < xn = b tasavalinen pisteisto,h = xi+1 − xi ja f ∈ C (n+1)([a, b]). Silloin
|f (t)− pn(t)| ≤ Mn
4(n + 1)hn+1, t ∈ [a, b],
missaMn = max
x∈[x0,xn]|f (n+1)(x)|.
Luento 7 () Numeeriset menetelmat 10.4.2013 3 / 43
Luku5: Interpolointi ja approksimointi Interpolaatiovirheesta
Esimerkki 5.5
Lause 5.4.:
|f (t)− pn(t)| ≤ Mn
4(n + 1)hn+1, Mn = max
x∈[x0,xn]|f (n+1)(x)|.
Olkoon f (x) = sin x , x0 = 0 ja xn = π. Talloin
maxt∈[x0,xn]
|f (t)− pn(t)| ≤ 1 · hn+1,
joten polynomi pn suppenee tasaisesti kohti funktiota f valilla [0, π],kun interpolaatiopisteiden lukumaaraa n kasvatetaan rajatta.
Luento 7 () Numeeriset menetelmat 10.4.2013 4 / 43
Luku5: Interpolointi ja approksimointi Interpolaatiovirheesta
Interpolaatiovirheesta jatkuu
Lauseen 5.4. epayhtaloa on kaytettava varoen, silla vakio Mn
yleensa riippuu myos interp.polynomin asteesta n.
Lisaksi vakion Mn laskeminen mielivaltaiselle funktiolle f onkaytannossa aivan liian tyolasta.
Funktion f sileys ja datapisteiden paljous ei takaa pientainterpolaatiovirhetta, kuten seuraava klassinen Rungen esimerkkiosoittaa.
Luento 7 () Numeeriset menetelmat 10.4.2013 5 / 43
Luku5: Interpolointi ja approksimointi Interpolaatiovirheesta
Esimerkki 5.6
Olkoon interpoloitava funktio f (x) = (1 + x2)−1.
Olkoon pn interpolaatiopolynomi, joka interpoloi funktiota ftasavalisissa pisteissa valilla [−5, 5].
Silloin voidaan osoittaa, etta
limn→∞
maxx∈[−5,5]
|f (x)− pn(x)| =∞.
Siis datapisteiden lisaaminen lisaa maksimi interpolaatiovirhetta.
Luento 7 () Numeeriset menetelmat 10.4.2013 6 / 43
Luku5: Interpolointi ja approksimointi Interpolaatiovirheesta
Esimerkki 5.6 jatkuu
-0.5
0
0.5
1
1.5
2
-4 -2 0 2 4
’f.dat’’p10.dat’
Rungen funktiota interpoloiva oskilloiva interpolaatiopolynomi p10.
Luento 7 () Numeeriset menetelmat 10.4.2013 7 / 43
Luku5: Interpolointi ja approksimointi Interpolaatiovirheesta
Esimerkki 5.7
Mikali interpolaatiopisteiden paikat voidaan itse valita, niintasavalinen pisteisto ei yleensa ole optimaalinen.Kuvassa on esitetty Rungen funktiota valilla [−5, 5] interpoloivatpolynomit p10 ja p20, kun interp.pisteina on kaytetty Tsebysevininterpolaatiopisteita. Tassa tapauksessa pn → f tasaisesti, kuninterp.pisteiden lukumaara n→∞.
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
-4 -2 0 2 4
’cheby10.dat’’cheby20.dat’
Luento 7 () Numeeriset menetelmat 10.4.2013 8 / 43
Luku5: Interpolointi ja approksimointi Interpolaatiovirheesta
Tsebysevin interpolaatiopisteet
Mikali interpolaatiopisteiden paikat voidaan itse valita, eitasavalinen pisteisto yleensa ole optimaalinen.
Pyritaan seuraavassa valitsemaan interp.pisteeterikoistapauksessa [a, b] = [−1, 1] siten, etta interpolaatiovirheminimoituu.
Eras ns. ortogonalisten polynomien luokka on Tsebysevin polynomit,jotka voidaan maaritella rekursiivisesti
T0(x) = 1, T1(x) = x , Tn+1(x) = 2xTn(x)− Tn−1(x), n ≥ 1.
Luento 7 () Numeeriset menetelmat 10.4.2013 9 / 43
Luku5: Interpolointi ja approksimointi Interpolaatiovirheesta
Tsebysevin interpolaatiopisteet jatkuu
Valilla [−1, 1] polynomit Tn voidaan lausua myos trigonometristenfunktioiden avulla
Tn(x) = cos(n arccos x), n ≥ 0.
Yo. esityksesta nahdaan, etta
|Tn(x)| ≤ 1, |x | ≤ 1,
Tn
(cos
(2i + 1
2nπ
))= 0, i = 0, ..., n − 1.
Luento 7 () Numeeriset menetelmat 10.4.2013 10 / 43
Luku5: Interpolointi ja approksimointi Interpolaatiovirheesta
Tsebysevin interpolaatiopisteet jatkuu
Nyt voidaan osoittaa, etta jos interpolaatiopisteiksi valitaanTsebysevin polynomin Tn+1 juuret
xi = cos
(2i + 1
2n + 2π
), i = 0, ..., n,
niin
|f (x)− pn(x)| ≤ 1
2n(n + 1)!max|t|≤1|f (n+1)(t)|, |x | ≤ 1.
Luento 7 () Numeeriset menetelmat 10.4.2013 11 / 43
Luku5: Interpolointi ja approksimointi Interpolaatiovirheesta
Tsebysevin interpolaatiopisteet jatkuu
Yleiseen valiin [a, b] liittyvat Tsebysevin interpolaatiopisteet {xi}saadaan valin [−1, 1] interpolaatiopisteista {xi} affiinimuunnoksella
xi =1
2(a + b) +
1
2(b − a)xi .
Luento 7 () Numeeriset menetelmat 10.4.2013 12 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
5.3. Paloittainen interpolointi
Jono interpolaatiopolynomeja ei valttamatta lahesty interpoloitavaasileaa funktiota kun interp.pisteita lisataan.
Tasavalinen pisteisto ja korkea-asteinen interpolaatiopolynomiaiheuttavat usein voimakasta oskillointia, sita voimakkaammin mitakorkeamman asteen polynomia kaytetaan.
Ratkaisu: Jaetaan havaintovali osavaleihin havaintopisteiden avulla jakaytetaan osavaleilla paloittaisia, matala-asteisia polynomeja.
Edelleen vaaditaan, etta osavaleilta yhdistetty funktio on silea.
Luento 7 () Numeeriset menetelmat 10.4.2013 13 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Maaritelma 5.2.
Olkoon vali I = [a, b] jaettu n:aan osavaliin pisteilla
a = t0 < t1 < · · · < tn−1 < tn = b.
Funktio s : I → R on k-asteinen splini, jos seuraavat ehdot ovat voimassa:
1 Jokaisella osavalilla Ii = [ti−1, ti ], i = 1, . . . n, funktio s onkorkeintaan k-asteinen polynomi.
2 Funktiolla s on valilla I jatkuvat derivaatat kertalukuun k − 1 asti.
Luento 7 () Numeeriset menetelmat 10.4.2013 14 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Splinit
Pisteita ti sanotaan splinin solmuiksi.
Yksinkertaisin, ensimmaisen asteen splini on paloittain lineaarinenfunktio.
Toisen asteen splini on paloittain kvadraattinen funktio; lisaksi senderivaatta on jatkuva koko valilla I .
Yleisimmin kaytetty splini on kolmannen asteen splini eli kuutiosplini,koska se on kaytannossa riittavan silea, mutta samalla helpohkostikonstruoitava.
Matala-asteiset splinit sopivat erinomaisesti interpolaatiotehtaviin,koska niilla ei ole taipumusta oskillointiin.
Luento 7 () Numeeriset menetelmat 10.4.2013 15 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Splinit
Splinien kayttomahdollisuudet eivat rajoitu vain interpolaatioon.
Yleisempi funktion approksimointi, numeerinen integrointi jadifferentiaaliyhtaloiden ratkaiseminen voidaan tehda splinien avulla.
Myos tietokonegrafiikassa kaytetaan usein splineja sileiden kayrien japintojen muodostamiseen.
Luento 7 () Numeeriset menetelmat 10.4.2013 16 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Kuutiosplinin kaytto interpoloinnissa
Olkoon vali I = [a, b] jaettu n:aan osavaliin pisteillaa = t0 < t1 < · · · < tn = b ja olkoon annettu datapisteisto
(ti , yi ), i = 0, ..., n. Merkitaan
hi := ti − ti−1, i = 1, 2, . . . , n.
Splinin tulee nyt toteuttaa interpolointiehto
s(ti ) = yi , i = 0, ..., n.
Kuutiosplinin maar. perusteella s, s ′ ja s ′′ ovat jatkuvia valilla I .
s on paloittain kuutiollinen polynomi ⇒ s ′ paloittain kvadraattinenpolynomi ja s ′′ paloittain lineaarinen polynomi.
Luento 7 () Numeeriset menetelmat 10.4.2013 17 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Kuutiosplinin kaytto interpoloinnissa jatkuu
Nyt jokaisella osavalilla Ii s ′′ on lineaarinen, ts. s ′′ on suora, jokayhdistaa pisteet (x0, y0) = (ti−1,Mi−1) ja (x1, y1) = (ti ,Mi ), missas ′′(ti ) = Mi .
Ko. suoran yhtalo on
y =Mi −Mi−1
ti − ti−1(x − ti−1) + Mi−1
=Mi
hi(x − ti−1)− Mi−1
hi(x − ti−1) + Mi−1
=Mi
hi(x − ti−1) +
Mi−1
hi(ti−1 − x) + Mi−1 ·
hi
hi
=Mi
hi(x − ti−1) +
Mi−1
hi(ti − ti−1︸ ︷︷ ︸
hi
+ti−1 − x)
Luento 7 () Numeeriset menetelmat 10.4.2013 18 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Kuutiosplinin kaytto interpoloinnissa jatkuu
Nyt siis jokaisella osavalilla Ii patee (Mi ,Mi−1 tuntemattomia)
s ′′(x) = Mi−1ti − x
hi+ Mi
x − ti−1
hi, x ∈ Ii .
Integroimalla yo. saadaan:
s ′(x) = −Mi−1(ti − x)2
2hi+ Mi
(x − ti−1)2
2hi− ci + di .
Integroidaan viela kerran, saadaan osavalilla Ii :
s(x) = Mi−1(ti − x)3
6hi+ Mi
(x − ti−1)3
6hi+ ci (ti − x) + di (x − ti−1).
Luento 7 () Numeeriset menetelmat 10.4.2013 19 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Kuutiosplini: interpolointiehdot
Maarataan vakiot ci , di asettamalla interpolointiehtos(ti−1) = yi−1 ja s(ti ) = yi :
s(ti−1) = Mi−1(ti − ti−1)3
6hi+ Mi
(ti−1 − ti−1)3
6hi
+ci (ti − ti−1) + di (ti−1 − ti−1)
= Mi−1(ti − ti−1)3
6hi+ ci (ti − ti−1)
= Mi−1h2i
6+ cihi = yi−1
⇒ ci =1
hi
(yi−1 −Mi−1
h2i
6
)
Luento 7 () Numeeriset menetelmat 10.4.2013 20 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Kuutiosplini: interpolointiehdot
Samoin asetetaan interpolointiehto s(ti ) = yi ja saadaan:
s(ti ) = Mi(ti − ti−1)3
6hi+ di (ti − ti−1) = Mi
h2i
6+ dihi = yi
⇒ di =1
hi
(yi −Mi
h2i
6
)Nain saadaan (taas valilla Ii , i = 1, . . . , n)
s(x) = Mi−1(ti − x)3
6hi+ Mi
(x − ti−1)3
6hi
+1
hi
(yi−1 −
Mi−1h2i
6
)(ti − x) +
1
hi
(yi −
Mih2i
6
)(x − ti−1).
Luento 7 () Numeeriset menetelmat 10.4.2013 21 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Kuutiosplinin kaytto interpoloinnissa jatkuu
Derivoimalla edellinen saadaan (taas valilla Ii , i = 1, . . . , n)
s ′(x) = −Mi−1(ti − x)2
2hi+ Mi
(x − ti−1)2
2hi
− 1
hi
(yi−1 −
Mi−1h2i
6
)+
1
hi
(yi −
Mih2i
6
)
= −Mi−1(ti − x)2
2hi+ Mi
(x − ti−1)2
2hi+
yi − yi−1
hi− Mi
6hi +
Mi−1
6hi .
Luento 7 () Numeeriset menetelmat 10.4.2013 22 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Kuutiosplini: toispuoleiset derivaatat
Erityisesti valin Ii paatepisteessa ti saadaan toispuoleiseksi derivaataksi
s ′(t−i ) = limx→t−i
−Mi−1(ti − x)2
2hi+ Mi
(x − ti−1)2
2hi
+yi − yi−1
hi− Mi
6hi +
Mi−1
6hi
= Mih2i
2hi+
yi − yi−1
hi− Mi
6hi +
Mi−1
6hi
=
(hi
2− hi
6
)Mi +
hi
6Mi−1 +
yi − yi−1
hi
=hi
6Mi−1 +
hi
3Mi +
yi − yi−1
hi
Luento 7 () Numeeriset menetelmat 10.4.2013 23 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Kuutiosplini: toispuoleiset derivaatat
Samoin
s ′(t+i ) = lim
x→t+i
−Mi(ti+1 − x)2
2hi+1+ Mi+1
(x − ti )2
2hi+1
+yi+1 − yi
hi+1− Mi+1
6hi+1 +
Mi
6hi+1
= −Mih2i+1
2hi+1+
yi+1 − yi
hi+1− Mi+1
6hi+1 +
Mi
6hi+1
= −(
hi+1
2− hi+1
6
)Mi −
hi+1
6Mi+1 +
yi+1 − yi
hi+1
= −hi+1
3Mi −
hi+1
6Mi+1 +
yi+1 − yi
hi+1.
Luento 7 () Numeeriset menetelmat 10.4.2013 24 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Kuutiosplini: toispuoleiset derivaatat
Koska s ′ on jatkuva valilla I , on oltava
s ′(t−i ) = s ′(t+i ), i = 1, ..., n − 1,
joten saadaan yhtalot (i = 1, ..., n − 1)
hi
6Mi−1 +
hi
3Mi +
yi − yi−1
hi= −hi+1
3Mi −
hi+1
6Mi+1 +
yi+1 − yi
hi+1
josta saadaan (i = 1, ..., n − 1)
hi
6Mi−1 +
hi + hi+1
3Mi +
hi+1
6Mi+1 =
yi+1 − yi
hi+1− yi − yi−1
hi.
Luento 7 () Numeeriset menetelmat 10.4.2013 25 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Kuutiosplinin kaytto interpoloinnissa jatkuu
Sievennetaan edella saatua lauseketta
hi
6Mi−1 +
hi + hi+1
3Mi +
hi+1
6Mi+1 =
yi+1 − yi
hi+1︸ ︷︷ ︸σi+1
− yi − yi−1
hi︸ ︷︷ ︸σi
.
Kertomalla yo. 6hi+hi+1
:lla saadaan (i = 1, ..., n − 1)
hi
hi + hi+1︸ ︷︷ ︸µi
Mi−1 + 2Mi +hi+1
hi + hi+1︸ ︷︷ ︸λi
Mi+1 =6
hi + hi+1(σi+1 − σi )︸ ︷︷ ︸di
⇒ Yhtalot saadaan yksinkertaisempaan muotoon
µiMi−1 + 2Mi + λiMi+1 = di , i = 1, ..., n − 1.
Luento 7 () Numeeriset menetelmat 10.4.2013 26 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Kuutiosplinin kaytto interpoloinnissa jatkuu
Edella siis maariteltiin merkintojen yksinkertaistamiseksi luvut
σi :=yi − yi−1
hi, i = 1, ..., n,
λi :=hi+1
hi + hi+1, i = 1, ..., n − 1,
µi := 1− λi , i = 1, ..., n − 1,
di :=6(σi+1 − σi )
hi + hi+1, i = 1, ..., n − 1.
Luento 7 () Numeeriset menetelmat 10.4.2013 27 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Kuutiosplinin kaytto interpoloinnissa jatkuu
Yhtalot kertoimien M0, . . . ,Mn ratkaisemiseksi saatiin edella muotoon
µiMi−1 + 2Mi + λiMi+1 = di , i = 1, ..., n − 1.
n − 1 yhtaloa, n + 1 kerrointa M0, . . . ,Mn
⇒ Yksikasitteiseen ratkeavuuteen tarvitaan viela kaksi lisaehtoa.
⇒ Esitetaan tarvittavat kaksi lisaehtoa muodossa
2M0 + λ0M1 = d0, µnMn−1 + 2Mn = dn,
missa λ0, d0, µn, dn ovat myohemmin maarattavia vakioita.
Luento 7 () Numeeriset menetelmat 10.4.2013 28 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Kuutiosplini: yhtaloryhma
Nyt splinin kertoimien maaraaminen on siis palautunut tridiagonaalisenyhtaloryhman
26666666664
2 λ0
µ1 2 λ1
µ2 2 λ2
. . .
µn−2 2 λn−2
µn−1 2 λn−1
µn 2
37777777775
26666666664
M0
M1
M2
...Mn−2
Mn−1
Mn
37777777775=
26666666664
d0
d1
d2
...dn−2
dn−1
dn
37777777775(1)
ratkaisemiseen.
Luento 7 () Numeeriset menetelmat 10.4.2013 29 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Kuutiosplini: lauseke
Kun yhtaloryhman ratkaisemisen jalkeen kertoimet Mi tunnetaan, niinsplinin arvo s(x) voidaan laskea lausekkeesta
s(x) = Mi−1(ti − x)3
6hi+ Mi
(x − ti−1)3
6hi
+
(yi−1 −
Mi−1h2i
6
)ti − x
hi+
(yi −
Mih2i
6
)x − ti−1
hi.
Luento 7 () Numeeriset menetelmat 10.4.2013 30 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Kuutiosplini: lisaehdot
Yhtaloryhmalle (1) saadaan yksikasitteinen ratkaisu, jos asetetaan jokinseuraavista ehdoista:
Luonnollinen kuutiosplini, s.o. s ′′(a) = s ′′(b) = 0, saadaan kun yllavalitaan λ0 = d0 = µn = dn = 0.
Talloin siis M0 = Mn = 0.
Derivaattaehto s ′(a) = y ′0, s ′(b) = y ′n, saadaan kun
λ0 = µn = 1, d0 =6
h1
(y1 − y0
h1− y ′0
),
dn =6
hn
(y ′n −
yn − yn−1
hn
).
Luento 7 () Numeeriset menetelmat 10.4.2013 31 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Kuutiosplini: lisaehdot
”Not a knot” -ehto saadaan asettamalla vain
valin I sisasolmut ti , i = 1, ..., n − 1 splinin maaritteleviksi solmuiksija vaatimalla s(a) = y0, s(b) = yn.
Talloin tulee yhtaloita kaksi kappaletta vahemman ja vakiotλ1, d1, µn−1, dn−1 saadaan sijoittamalla x = t0 ja x = tn splininlausekkeeseen. Tassa vaihtoehdossa lisaehtoja ei tarvita.
Luento 7 () Numeeriset menetelmat 10.4.2013 32 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Kuutiosplinin kaytto interpoloinnissa jatkuu
Nyt selvasti
0 < λi < 1, i = 1, . . . , n − 1
(λi =
hi+1
hi + hi+1
)ja
0 < µi < 1, i = 1, . . . , n − 1 (µi = 1− λi ) .
Jos nyt lisaksi |λ0| < 2, |µn| < 2, niin yhtaloryhman kerroinmatriisi ondiagonaalisti dominantti, ja yhtaloryhmalla (1) on 1-kas. ratkaisuvektori,joka sisaltaa splinin tuntemattomien M0, . . . ,Mn arvot.
Luento 7 () Numeeriset menetelmat 10.4.2013 33 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Kuutiosplinin kaytto interpoloinnissa jatkuu
26666666664
2 λ0
µ1 2 λ1
µ2 2 λ2
. . .
µn−2 2 λn−2
µn−1 2 λn−1
µn 2
37777777775
26666666664
M0
M1
M2
...Mn−2
Mn−1
Mn
37777777775=
26666666664
d0
d1
d2
...dn−2
dn−1
dn
37777777775
Luento 7 () Numeeriset menetelmat 10.4.2013 34 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Esimerkki 5.9.
Olkoon annettu datapisteisto (1, 1), (2, 12), (3, 1
3), (4, 14).
Muodostetaan pisteistoon liittyva luonnollinen kuutiosplini. KoskaM0 = M3 = 0, splinin maaraava yhtaloryhma2664
2 λ0
µ1 2 λ1
µ2 2 λ2
µ3 2
37752664
M0
M1
M2
M3
3775 =
2664d0
d1
d2
d3
3775saa muodon »
2 λ1
µ2 2
– »M1
M2
–=
»d1
d2
–.
Luento 7 () Numeeriset menetelmat 10.4.2013 35 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Esimerkki 5.9. jatkuu
Nyt hi = ti − ti−1 = 1, i = 1, . . . , 3.
λi :=hi+1
hi + hi+1→ λ1 =
h2
h1 + h2=
1
2, λ2 =
h3
h2 + h3=
1
2
µi := 1− λi → µ2 = 1− λ2 =1
2
σi :=yi − yi−1
hi→ σ1 =
12 − 1
1= −1
2, σ2 =
13 −
12
1= −1
6,
σ3 =14 −
13
1= − 1
12
Luento 7 () Numeeriset menetelmat 10.4.2013 36 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Esimerkki 5.9. jatkuu
di :=6(σi+1 − σi )
hi + hi+1→ d1 =
6(−16 − (−1
2))
h1 + h2= 1,
d2 =6(− 1
12 − (−16))
h2 + h3=
1
4,
Siten yhtaloryhmaksi saadaan»2 1/2
1/2 2
– »M1
M2
–=
»1
1/4
–
josta M1 = 1/2 ja M2 = 0.
Luento 7 () Numeeriset menetelmat 10.4.2013 37 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Esimerkki 5.9. jatkuu
Splinin lauseke kullakin valilla Ii saadaan kaavasta
s(x) = Mi−1(ti − x)3
6hi+ Mi
(x − ti−1)3
6hi
+
(yi−1 −
Mi−1h2i
6
)ti − x
hi+
(yi −
Mih2i
6
)x − ti−1
hi
sijoittamalla M0 = 0,M1 = 12 ,M2 = 0,M3 = 0, hi = 1 ja
(t0, y0) = (1, 1), (t1, y1) = (2, 12), (t2, y2) = (3, 1
3), (t3, y3) = (4, 14).
Luento 7 () Numeeriset menetelmat 10.4.2013 38 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Esimerkki 5.9. jatkuu
Esimerkiksi valilla I1 = [1, 2] ts. (i = 1) ...
s(x) = M0(t1 − x)3
6h1+ M1
(x − t0)3
6h1
+
(y0 −
M0h21
6
)t1 − x
h1+
(y1 −
M1h21
6
)x − t0
h1
=1
2
(x − 1)3
6+ (1− 0)(2− x) +
(1
2− 1
2
1
6
)(x − 1)
=1
12x3 − 1
4x2 − 1
3x +
3
2
Luento 7 () Numeeriset menetelmat 10.4.2013 39 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Esimerkki 5.9. jatkuu
Splinin koko lausekkeeksi saadaan
s(x) =
1
12x3 − 1
4x2 − 1
3x +
3
2, 1 ≤ x ≤ 2
− 1
12x3 +
3
4x2 − 7
3x +
17
6, 2 ≤ x ≤ 3
− 1
12x +
7
12, 3 ≤ x ≤ 4.
Huomaa, etta s ′ ja s ′′ ovat jatkuvia valilla [1, 4].
Luento 7 () Numeeriset menetelmat 10.4.2013 40 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Kuutiosplinin kaytto interpoloinnissa jatkuu
Kuutiosplinin voidaan ajatella syntyvan kun suora, hoikka ja taipuisametallitanko pakotetaan kulkemaan datapisteiden kautta. Tangontaivutusenergia on 1
2
∫ ba [s ′′(x)]2 dx , missa s(x) on tangon poikkeama
lepotilasta pisteessa x . Seuraava lause sanoo, etta luonnollinenkuutiosplini minimoi taivutusenergian lausekkeen.
Lause 5.6.Jos luonnollinen kuutiosplini s interpoloi funktiota f ∈ C (2)([a, b])pisteissa a = t0 < t1 < . . . < tn = b, niin∫ b
a[s ′′(x)]2 dx ≤
∫ b
a[f ′′(x)]2 dx .
Luento 7 () Numeeriset menetelmat 10.4.2013 41 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Lause 5.7.
Olkoon f ∈ C (2)([a, b]), yi := f (ti ) ja h = max hi . Jos luonnollinenkuutiosplini s on interpolaatiotehtavan s(ti ) = yi , i = 0, ..., n ratkaisu,niin interpolaatiovirheelle saadaan arviot
maxa≤x≤b
|f (x)− s(x)| ≤ h32E(f )
maxa≤x≤b
|f ′(x)− s ′(x)| ≤ h12E(f ),
missa
E(f ) =
√∫ b
a[f ′′(x)]2 dx .
Luento 7 () Numeeriset menetelmat 10.4.2013 42 / 43
Luku5: Interpolointi ja approksimointi 5.3. Paloittainen interpolointi
Huomautus 5.2.
Vaikka splini-interpolantti kayttaytyykin hyvin valilla I , ei sitakannata kayttaa extrapolaatioon.
Esimerkiksi tekija (x − tn−1)3 splinin lausekkeessa kasvaavoimakkaasti valin I ulkopuolelle, jolloin interpolaatiovirhe kasvaamyos hyvin voimakkaasti.
Tasta syysta ekstrapolaatiota on syyta valttaa tai ainakin rajoituttavaekstrapoloimaan mahdollisimman lahella annettua datapisteistoa.
Luento 7 () Numeeriset menetelmat 10.4.2013 43 / 43