• No results found

5.1. Interpolaˇ cn´ı polynom

N/A
N/A
Protected

Academic year: 2022

Share "5.1. Interpolaˇ cn´ı polynom"

Copied!
21
0
0

Loading.... (view fulltext now)

Full text

(1)

5. Interpolace a aproximace funkc´ı

Pr˚uvodce studiem Casto je potˇrebaˇ

”sloˇzitou” funkci f nahradit funkc´ı

”jednoduˇsˇs´ı”. V t´eto kapitole budeme pˇredpokl´adat, ˇze u funkce f zn´ame jej´ı funkˇcn´ı hodnoty fi = f (xi) v uzlech xi pro i = 0, . . . , n. Budeme rozliˇsovat dvˇe ´ulohy.

Interpolaˇcn´ı ´uloha: Hled´ame funkci ϕ, pro niˇz je

ϕ(xi) = fi, i = 0, . . . , n. (5.0.1) Aproximace metodou nejmenˇs´ıch ˇctverc˚u: Hled´ame funkci ϕ, pro niˇz je

ϕ(xi)≈ fi, i = 0, . . . , n, (5.0.2) kde pˇribliˇzn´a rovnost

≈” je urˇcena tak, aby souˇcet druch´ych mocnin odchylek mezi pˇredepsan´ymi hodnotami fi a pˇredpokl´adan´ymi hodnotami ϕ(xi) byl mi- nim´aln´ı.

Jestliˇze tyto ´ulohy zn´azorn´ıme graficky, bude ˇreˇsen´ı interpolaˇcn´ı ´ulohy pro- ch´azet pˇres body (xi, fi), i = 0, . . . , n, kdeˇzto ˇreˇsen´ı aproximaˇcn´ı ´ulohy bude (obecnˇe) proch´azet jejich bl´ızk´ym okol´ım.

Formulace obou ´uloh je zat´ım pˇr´ıliˇs obecn´a, protoˇze jsme neˇrekli jak´eho typu m´a b´yt funkce ϕ. Uk´aˇzeme tˇri volby: polynom, splajn (spline-funkce) a line´arn´ı kombinace obecn´ych funkc´ı. Polynom je jednoduch´y z hlediska matematick´ych operac´ı (snadno se derivuje, integruje atp.), jeho graf vˇsak ˇcasto osciluje. Lepˇs´ı tvary grafu maj´ı splajny. Kombinace obecn´ych funkc´ı se pouˇz´ıv´a zpravidla v situac´ıch, kdy je zn´amo, jakou z´avislost dan´a data popisuj´ı (pro periodickou z´avislost je dobr´e pouˇz´ıt funkce goniometrick´e, pro strmˇe rostouc´ı data se hod´ı funkce exponenci´aln´ı atp.).

(2)

5.1. Interpolaˇ cn´ı polynom

C´ıle

Uk´aˇzeme metody pro sestaven´ı interpolaˇcn´ıho polynomu a odvod´ıme vzorec pro interpolaˇcn´ı chybu.

Pˇredpokl´adan´e znalosti

Polynomy. ˇReˇsen´ı soustav line´arn´ıch rovnic. Vˇeta o stˇredn´ı hodnotˇe dife- renci´aln´ıho poˇctu.

V´yklad

Funkci ϕ v ´uloze (5.0.1) budeme hledat jako interpolaˇcn´ı polynom stupnˇe nejv´yˇse n, tj. poloˇz´ıme ϕ = pn, kde

pn(x) = a0+ a1x + a2x2+ . . . + anxn. (5.1.1) Zaˇcneme pˇr´ıkladem.

Pˇr´ıklad 5.1.1. Jsou d´any uzly x0 = −2, x1 = −1, x2 = 1, x3 = 2 a funkˇcn´ı hodnoty f0 = 10, f1 = 4, f2 = 6, f3 = 3. Urˇcete interpolaˇcn´ı polynom p3.

Reˇˇ sen´ı: Hledan´y polynom m´a obecn´y tvar

p3(x) = a0+ a1x + a2x2 + a3x3.

Koeficienty a0, a1, a2, a3 urˇc´ıme tak, aby platilo (5.0.1). Kaˇzd´a interpolaˇcn´ı rov- nost urˇcuje jednu rovnici:

p3(−2) = 10 ⇒ a0 − 2a1 + 4a2 − 8a3 = 10, p3(−1) = 4 ⇒ a0 − a1 + a2 − a3 = 4, p3(1) = 6 ⇒ a0 + a1 + a2 + a3 = 6, p3(2) = 3 ⇒ a0 + 2a1 + 4a2 + 8a3 = 3.

(3)

Dostali jsme soustavu line´arn´ıch rovnic

⎜⎜

⎜⎜

⎜⎜

⎜⎝

1 −2 4 −8 1 −1 1 −1

1 1 1 1

1 2 4 8

⎟⎟

⎟⎟

⎟⎟

⎟⎠

⎜⎜

⎜⎜

⎜⎜

⎜⎝ a0 a1 a2 a3

⎟⎟

⎟⎟

⎟⎟

⎟⎠

=

⎜⎜

⎜⎜

⎜⎜

⎜⎝ 10

4 6 3

⎟⎟

⎟⎟

⎟⎟

⎟⎠ ,

jej´ımˇz ˇreˇsen´ım (na tˇri desetinn´a m´ısta) jsou koeficienty a0 = 4.500, a1 = 1.917, a2 = 0.500 a a3 =−0.917. Interpolaˇcn´ı polynom m´a tvar

p3(x) = 4.500 + 1.917x + 0.500x2− 0.917x3. Jeho graf je na obr´azku 5.1.1.

−2 −1 0 1 2

2 4 6 8 10 12

Obr´azek 5.1.1: Graf interpolaˇcn´ıho polynomu p3.

Rozborem postupu z pˇr´ıkaldu dok´aˇzeme n´asleduj´ıc´ı vˇetu.

Vˇeta 5.1.1.

Necht’ jsou d´any vz´ajemnˇe r˚uzn´e uzly xi a funkˇcn´ı hodnoty fi, i = 0, . . . , n.

Existuje pr´avˇe jeden interpolaˇcn´ı polynom stupnˇe nejv´yˇse n.

D˚ukaz: Dosazen´ım obecn´eho tvaru polynomu (5.1.1) do interpolaˇcn´ıch rovnost´ı

(4)

(5.0.1) dostaneme soustavu line´arn´ıch rovnic

pn(xi) = a0+ a1xi + a2x2i + . . . + anxni = fi, i = 0, . . . , n, kterou lze zapsat maticovˇe jako

⎜⎜

⎜⎜

⎜⎜

⎜⎜

⎜⎜

1 x0 x20 . . . xn0 1 x1 x21 . . . xn1 1 x2 x22 . . . xn2 ... ... ... . .. ...

1 xn x2n . . . xnn

⎟⎟

⎟⎟

⎟⎟

⎟⎟

⎟⎟

⎜⎜

⎜⎜

⎜⎜

⎜⎜

⎜⎜

a0 a1 a2 ... an

⎟⎟

⎟⎟

⎟⎟

⎟⎟

⎟⎟

=

⎜⎜

⎜⎜

⎜⎜

⎜⎜

⎜⎜

f0 f1 f2 ... fn

⎟⎟

⎟⎟

⎟⎟

⎟⎟

⎟⎟

.

Matice t´eto soustavy m´a nenulov´y determinant (Vandermod˚uv determinant).

Odtud plyne existence jedin´eho ˇreˇsen´ı soustavy line´arn´ıch rovnic a tak´e inter-

polaˇcn´ıho polynomu. 2

5.1.1. Lagrange˚uv tvar interpolaˇcn´ıho polynomu

Uk´aˇzeme postup, pˇri nˇemˇz se obejdeme bez ˇreˇsen´ı soustavy line´arn´ıch rovnic.

Interpolaˇcn´ı polynom budeme hledat ve tvaru

pn(x) = f0ϕ0(x) + f1ϕ1(x) + . . . + fnϕn(x). (5.1.2) Rovnosti pn(xi) = fi, i = 0, 1, . . . , n budou splnˇeny, jestliˇze bude platit

ϕi(xj) =

⎧⎪

⎪⎩

1 pro i = j, 0 pro i= j.

Z vˇety 5.1.1. v´ıme, ˇze interpolaˇcn´ı polonom je stupnˇe nejv´yˇse n, takˇze tak´e vˇsechny funkce ϕi mus´ı b´yt polynomy stupnˇe nejv´yˇse n. Uveden´ym poˇzadavk˚um vyhovuje n´asleduj´ıc´ı definice:

ϕi(x) = (x− x0) . . . (x− xi−1)(x− xi+1) . . . (x− xn)

(xi− x0) . . . (xi− xi−1)(xi − xi+1) . . . (xi− xn) (5.1.3)

(5)

pro i = 0, 1, . . . , n. ˇCitatel je totiˇz polynom, kter´y nab´yv´a nulov´ych hodnot ve vˇsech uzlech kromˇe xi. V uzlu xi pak nab´yv´a nenulov´e hodnoty, kter´a je obsaˇzena ve jmenovateli zlomku, takˇze plat´ı ϕi(xi) = 1.

Polynom˚um ϕi, i = 0, 1, . . . , n se ˇr´ık´a Lagrangeova b´aze interpolaˇcn´ı ´ulohy a vzorec (5.1.2) se naz´yv´a Lagrange˚uv tvar inteprolaˇcn´ıho polynomu.

Pˇr´ıklad 5.1.2. Mˇejme d´any uzly x0 =−2, x1 =−1, x2 = 1, x3 = 2 a funkˇcn´ı hodnoty f0 = 10, f1 = 4, f2 = 6, f3 = 3. Napiˇste Lagrange˚uv tvar interpolaˇcn´ıho polynomu.

Reˇˇ sen´ı: Nejdˇr´ıve sestav´ıme Lagrangeovu b´azi. Podle (5.1.3) je

ϕ0(x) = (x + 1)(x− 1)(x − 2)

(−2 + 1)(−2 − 1)(−2 − 2) = 1

12(x + 1)(x− 1)(x − 2), ϕ1(x) = (x + 2)(x− 1)(x − 2)

(−1 + 2)(−1 − 1)(−1 − 2) = 1

6(x + 2)(x− 1)(x − 2), ϕ2(x) = (x + 2)(x + 1)(x− 2)

(1 + 2)(1 + 1)(1− 2) = 1

6(x + 2)(x + 1)(x− 2), ϕ3(x) = (x + 2)(x + 1)(x− 1)

(2 + 2)(2 + 1)(2− 1) = 1

12(x + 2)(x + 1)(x− 1).

Dosazen´ım do (5.1.2) dostaneme v´ysledek

p3(x) = 5

6(x + 1)(x− 1)(x − 2) +2

3(x + 2)(x− 1)(x − 2) −

−(x + 2)(x + 1)(x − 2) +1

4(x + 2)(x + 1)(x− 1).

Pozn´amka

Interpolaˇcn´ı polynom je podle vˇety 5.1.1. urˇcen jednoznaˇcnˇe. ´Upravou Lagran- geova tvaru proto mus´ıme nutnˇe doj´ıt k polynomu, kter´y jsem vypoˇc´ıtali v pˇr´ıkladu 5.1.1. (ovˇeˇrte).

(6)

5.1.2. Newton˚uv tvar interpolaˇcn´ıho polynomu Uvaˇzujme z´apis polynomu ve tvaru:

pn(x) = a0+a1(x−x0)+a2(x−x0)(x−x1)+. . .+an(x−x0) . . . (x−xn−1). (5.1.4) Jestliˇze dosad´ıme do interpolaˇcn´ıch rovnost´ı pn(xi) = fi, i = 0, 1, . . . , n, dosta- neme soustavu line´arn´ıch rovnic s doln´ı troj´uheln´ıkovou matic´ı:

⎜⎜

⎜⎜

⎜⎜

⎜⎝

1 0 0 . . . 0

1 (x1− x0) 0 . . . 0

1 (x2− x0) (x2− x0)(x2− x1) . . . 0

... ... ... . .. ...

⎟⎟

⎟⎟

⎟⎟

⎟⎠

⎜⎜

⎜⎜

⎜⎜

⎜⎝ a0 a1 a2 ...

⎟⎟

⎟⎟

⎟⎟

⎟⎠

=

⎜⎜

⎜⎜

⎜⎜

⎜⎝ f0 f1 f2 ...

⎟⎟

⎟⎟

⎟⎟

⎟⎠

, (5.1.5)

Odud m˚uˇzeme postupnˇe vyj´adˇrit koeficienty ak: a0 = f0, a1 = f1 − a0

x1− x0 = f1− f0 x1− x0,

a2 = f2− a1(x2− x0)− a0 (x2− x0)(x2− x1) =

f2− f1

x2− x1 f1− f0 x1− x0

x2 − x0 , atd..

V´yrazy na prav´ych stran´ach jsou pomˇern´e diference, jejichˇz oznaˇcen´ı zav´ad´ıme v n´asleduj´ıc´ı definici.

Definice 5.1.1.

Necht’ jsou d´any vz´ajemnˇe r˚uzn´e uzly xi a funkˇcn´ı hodnoty fi, i = 0, . . . , n.

Pomˇern´e diference k-t´eho ˇr´adu f [xi+k, . . . , xi], i = 0, 1, . . . , n− k definujeme rekurentnˇe:

• pro k = 0 : f [xi] = fi;

• pro k = 1 : f [xi+1, xi] = fi+1− fi

xi+1− xi

;

• pro k ≤ n : f[xi+k, . . . , , xi] = f [xi+k, . . . , xi+1]− f[xi+k−1, . . . , xi] xi+k− xi

.

(7)

Porovn´an´ım pomˇern´ych diferenc´ı s koeficienty ak vid´ıme, ˇze ak = f [xk, . . . , x0], k = 0, 1, . . . , n.

Dosazen´ım do (5.1.4) dostaneme Newton˚uv tvar interpolaˇcn´ıho polynomu:

pn(x) = f0+ f [x1, x0](x− x0) + . . . + f [xn, . . . , x0](x− x0) . . . (x− xn−1). (5.1.6) Pˇri jeho sestavov´an´ı potˇrebujeme vypoˇc´ıtat pomˇern´e diference. Vˇse uk´aˇzeme v n´a- sleduj´ıc´ım pˇr´ıkladu.

Pˇr´ıklad 5.1.3. Mˇejme d´any uzly x0 =−2, x1 =−1, x2 = 1, x3 = 2 a funkˇcn´ı hodnoty f0 = 10, f1 = 4, f2 = 6, f3 = 3. Napiˇste Newton˚uv tvar interpolaˇcn´ıho polynomu.

Reˇˇ sen´ı: Potˇrebujeme vypoˇc´ıtat pomˇern´e diference:

f [x1, x0], f [x2, x1, x0], f [x3, x2, x1, x0].

Podle definice je

f [x1, x0] = 4− 10

−1 + 2 = −6, f [x2, x1, x0] = f [x2, x1]− f[x1, x0]

x2− x0 =

6−41+1+ 6 1 + 2 = 7

3,

f [x3, x2, x1, x0] = f [x3, x2, x1]− f[x2, x1, x0]

x3− x0 =

3−62−16−41+1 2+1 73

2 + 2 = 11 12. Dosazen´ım do (5.1.6) dostaneme v´ysledek

p3(x) = 10− 6(x + 2) + 7

3(x + 2)(x + 1)−11

12(x + 2)(x + 1)(x− 1).

Pˇrehlednˇe m˚uˇzeme v´ypoˇcet pomˇern´ych diferenc´ı prov´est v tabulce (tabulka 5.1.1), kde do prvn´ıch dvou sloupc˚u zap´ıˇseme zadan´e uzly a funkˇcn´ı hodnoty a v kaˇzd´em dalˇs´ım sloupci pak vypoˇc´ıt´ame vˇsechny (!) pomˇern´e diference postupnˇe se zvy- ˇsuj´ıc´ıch ˇr´ad˚u. Pro naps´an´ı interpolaˇcn´ıho polynomu potˇrebujeme z t´eto tabulky hodnoty diferenc´ı z prvn´ıho ˇr´adku.

(8)

Tabulka 5.1.1: V´ypoˇcet pomˇern´ych diferenc´ı.

i xi fi f [xi+1, xi] f [xi+2, xi+1, xi] f [x3, x2, x1, x0]

0 −2 10 −6 73 1112

1 −1 4 1 43

2 1 6 −3

3 2 3

5.1.3. Interpolaˇcn´ı chyba

Pˇredpokl´adejme, ˇze hodnoty fi jsou funkˇcn´ımi hodnotami funkce f v uzlech xi, tj. fi = f (xi). Bude n´as zaj´ımat interpolaˇcn´ı chyba

f (x)− pn(x).

V uzlech xi je interpolaˇcn´ı chyba nulov´a, ale mimo uzly m˚uˇze b´yt velk´a.

Vˇeta 5.1.2.

Necht’ uzly xi, i = 0, 1, . . . , n, jsou vz´ajemnˇe r˚uzn´e a leˇz´ı na intervalua, b. Necht’

funkce f m´a na tomto intervalu n + 1 spojit´ych derivac´ı. Pak pro kaˇzd´e x∈ a, b

existuje ξ = ξ(x) v (a, b) tak, ˇze plat´ı

f (x)− pn(x) = f(n+1)(ξ)

(n + 1)! πn+1(x), (5.1.7) kde πn+1(x) = (x− x0) . . . (x− xn).

ukaz: Pro x = xi je rovnost (5.1.7) splnˇena, protoˇze obˇe jej´ı strany jsou nulov´e.

Pro pevnˇe zvolen´e x= xi definujme funkci

g(t) = f (t)− pn(t)− πn+1(t)

πn+1(x)(f (x)− pn(x)) , (5.1.8) kde t je promˇenn´a a x je parametr. Funkce g m´a zˇrejmˇe n+2 koˇren˚u, kter´ymi jsou body x0, . . ., xna x. Kaˇzd´a derivace funkce g m´a o jeden koˇren m´enˇe, takˇze (n+1)- n´ı derivace m´a jedin´y koˇren v nˇejak´em bodˇe ξ ∈ (a, b). Derivujeme-li (n + 1)-kr´at

(9)

yraz (5.1.8) (podle t) a pouˇzijeme pˇritom p(n+1)n (t) = 0 a π(n+1)n+1 (t) = (n + 1)!, dostaneme

0 = g(n+1)(ξ) = f(n+1)(ξ)− (n + 1)!

πn+1(x)(f (x)− pn(x)) .

Jestliˇze odtud vyj´adˇr´ıme interpolaˇcn´ı chybu, vznikne rovnost (5.1.7). 2 Na pr˚ubˇeh interpolaˇcn´ı chyby v intervalu a, b m´a podstatn´y vliv tvar poly- nomu πn+1, jak ukazuje n´asleduj´ıc´ı pˇr´ıklad.

Pˇr´ıklad 5.1.4. (Rungeho pˇr´ıklad) Nakresl´ıme graf funkce f (x) = 1

1 + x2

a graf interpolaˇcn´ıho polynomu odpov´ıdaj´ıc´ıho uzl˚um xi =−5+i, i = 0, 1, . . . , 10.

V´ysledek porovn´ame s grafem polynomu

π11(x) = (x + 5)(x + 4) . . . (x− 5).

Reˇˇ sen´ı: Obr´azek 5.1.2.a ukazuje graf polynomu π11. Z jeho pr˚ubˇehu lze usou- dit, ˇze nejvˇetˇs´ı interpolaˇcn´ı chyby budou pobl´ıˇz krajn´ıch uzl˚u x0 =−5 a x10 = 5.

Na obr´azku 5.1.2.b vid´ıme, ˇze graf interpolaˇcn´ıho polynomu osciluje kolem grafu funkce f a ˇze oscilace jsou nejvˇetˇs´ı pr´avˇe na kraj´ıch intervalu −5, 5. Pozna- menejme jeˇstˇe, ˇze pˇri zvˇetˇsen´ı poˇctu interpolaˇcn´ıch uzl˚u nedojde ke zmenˇsen´ı interpolaˇcn´ı chyby, ale naopak k jej´ımu zvˇetˇsen´ı.

Kontroln´ı ot´azky

Ot´azka 1. Jak´e zn´ate metody pro sestaven´ı interpolaˇcn´ıho polynomu?

Ot´azka 2. Jak´eho stupnˇe je interpolaˇcn´ı polynom?

Ot´azka 3. Jak se chov´a interpolaˇcn´ı chyba?

Ulohy k samostatn´´ emu ˇreˇsen´ı

1. Pro uzly x0 =−1, x1 = 0, x2 = 2, x3 = 3, x4 = 5 a funkˇcn´ı hodnoty f0 =−2,

(10)

−5 0 5

−5 0 5x 105

−5 0 5

−0.5 0 0.5 1 1.5 2

a b

Obr´azek 5.1.2: a) Graf π11; b) Grafy f (neosciluj´ıc´ı) a p10 (osciluj´ıc´ı).

f1 = 1, f2 = 0, f3 = 2, f4 =−1 vypoˇctˇete interpolaˇcn´ı polynom ve tvaru (5.1.1).

2. Pro pˇredchoz´ı data vypoˇctˇete Lagrange˚uv a Newton˚uv tvar interpolaˇcn´ıho polynomu.

V´ysledky ´uloh k samostatn´emu ˇreˇsen´ı 1. p4(x) =−203 x4+1110x3 10960x2 151 x + 1.

2. Lagrange˚uv tvar: p4(x) =−361x(x− 2)(x − 3)(x − 5) −301(x + 1)(x− 2)(x − 3) (x− 5) − 121(x + 1)x(x− 2)(x − 5) − 1801 (x + 1)x(x− 2)(x − 3);

Newton˚uv tvar: p4(x) =−2 + 3(x + 1) −3530(x + 1)x +12(x + 1)x(x− 2) −203 (x + 1) x(x− 2)(x − 3).

(11)

5.2. Interpolaˇ cn´ı splajny

C´ıle

Vidˇeli jsme, ˇze graf interpolaˇcn´ıho polynomu m˚uˇze nepˇr´ıjemnˇe oscilovat. Tato situace nast´av´a pˇri pˇredeps´an´ı vˇetˇs´ıho poˇctu dat, protoˇze interpolaˇcn´ı polynom je pak vysok´eho stupnˇe. Zd´a se proto rozumn´e pˇri ˇreˇsen´ı interpolaˇcn´ı ´ulohy pouˇz´ıt funkci, kter´a bude poˇc´astech polynomem n´ızk´eho stupnˇe, jej´ıˇz jednotliv´e ˇc´asti budou na sebe navazovat dostateˇcnˇe hladce. Takov´ym funkc´ım se ˇr´ık´a splajn (z angl.

”spline”). Uk´aˇzeme dva nejˇcastˇeji pouˇz´ıvan´e splajny: line´arn´ı a kubick´y.

Pˇredpokl´adan´e znalosti

Interpolaˇcn´ı polynom. Spojitost derivace. ˇReˇsen´ı soustav line´arn´ıch rovnic.

V´yklad

Abychom se vyhnuli komplikac´ım pˇri popisu, budeme pˇredpokl´adat, ˇze uzly interpolace tvoˇr´ı rostouc´ı posloupnost, tzn. x0 < x1 < . . . < xn. Vzd´alenost dvou sousedn´ıch uzl˚u oznaˇc´ıme hi, tj. hi = xi − xi−1, i = 1, . . . , n.

5.2.1. Line´arn´ı splajn Definice 5.2.1.

Line´arn´ım splajnem naz´yv´ame funkci s1, kter´a je spojit´a na intervalu x0, xn a na kaˇzd´em podintervaluxi−1, xi, i = 1, . . . , n, je polynomem prvn´ıho stupnˇe.

Line´arn´ı interpolaˇcn´ı splajn je ˇreˇsen´ım ´ulohy (5.0.1), tzn. ˇze pro nˇej plat´ı s1(xi) = fi, i = 0, . . . , n. M˚uˇzeme ho zapsat po ˇc´astech pro i = 1, . . . , n:

s1(x) = fi−1(1− t) + fit, t = (x− xi−1)/hi, x∈ xi−1, xi. (5.2.1) Grafem line´arn´ıho splajnu je lomen´a ˇc´ara.

(12)

Pˇr´ıklad 5.2.1. Mˇejme d´any uzly x0 =−2, x1 =−1, x2 = 1, x3 = 2 a funkˇcn´ı hodnoty f0 = 10, f1 = 4, f2 = 6, f3 = 3. Napiˇste line´arn´ı interpolaˇcn´ı splajn.

Reˇˇ sen´ı: Zap´ıˇseme jej pomoc´ı pˇredpisu (5.2.1):

s1(x) =

⎧⎪

⎪⎪

⎪⎨

⎪⎪

⎪⎪

10ϕ1(t) + 4ϕ2(t), t = x + 2 pro x∈ −2, −1, 1(t) + 6ϕ2(t), t = (x + 1)/2 pro x∈ −1, 1, 1(t) + 3ϕ2(t), t = x− 1 pro x∈ 1, 2, kde ϕ1(t) = 1− t, ϕ2(t) = t. Graf je zn´azornˇen na obr´azku 5.2.1.

5.2.2. Kubick´y splajn Definice 5.2.2.

Kubick´ym splajnem naz´yv´ame funkci s3, kter´a m´a na intervalu x0, xn dvˇe spojit´e derivace a na kaˇzd´em podintervaluxi−1, xi, i = 1, . . . , n, je polynomem tˇret´ıho stupnˇe.

Kubick´y interpolaˇcn´ı splajn, je ˇreˇsen´ı interpolaˇcn´ı ´ulohy (5.0.1). Jeho kon- strukce je sloˇzitˇejˇs´ı neˇz u line´arn´ıho splajnu. Vyjdeme opˇet z vyj´adˇren´ı po ˇc´astech pro i = 1, . . . , n:

s3(x) = fi−1(1− 3t2+ 2t3) + fi(3t2− 2t3)

+mi−1hi(t− 2t2+ t3) + mihi(−t2+ t3), (5.2.2) kde t = (x− xi−1)/hi a x∈ xi−1, xi. Tento pˇredpis je navrˇzen tak, aby parame- try fi−1, fi a mi−1, mi mˇely v´yznam funkˇcn´ıch hodnot a hodnot prvn´ı derivace v krajn´ıch bodech intervalu xi−1, xi, tj. plat´ı

s3(xi−1) = fi−1, s3(xi) = fi, (5.2.3) s3(xi−1) = mi−1, s3(xi) = mi. (5.2.4)

(13)

O splnˇen´ı rovnost´ı (5.2.3) a (5.2.4) se m˚uˇzeme pˇresvˇedˇcit dosazen´ım xi−1 a xi do (5.2.2) a do prvn´ı derivace s3, kterou vyj´adˇr´ıme z (5.2.2) podle pravidla o deri- vov´an´ı sloˇzen´e funkce:

s3(x) = fi−1(−6t + 6t2)/hi+ fi(6t− 6t2)/hi

+mi−1(1− 4t + 3t2) + mi(−2t + 3t2). (5.2.5) Pˇredpis (5.2.2) zaruˇcuje spojitost prvn´ı derivace s3 na cel´em intervalu x0, xn pro libovoln´e hodnoty mi. Spojitost druh´e derivace vynut´ıme speci´aln´ı volbou mi. Budeme poˇzadovat

x→xlimis3(x) = lim

x→xi+s3(x) (5.2.6) ve vnitˇrn´ıch uzlech xi, i = 1, . . . , n− 1. Potˇrebn´y v´yraz pro druhou derivaci vypoˇcteme z (5.2.5) opˇet podle pravidla o derivov´an´ı sloˇzen´e funkce:

s3(x) = fi−1(−6 + 12t)/h2i + fi(6− 12t)/h2i

+mi−1(−4 + 6t)/hi+ mi(−2 + 6t)/hi. (5.2.7) Levou stranu v (5.2.6) vyj´adˇr´ıme z (5.2.7) pro t = 1:

x→xlimis3(x) = 6fi−1/h2i − 6fi/h2i + 2mi−1/hi+ 4mi/hi. (5.2.8) Pravou stranu v (5.2.6) vyj´adˇr´ıme z (5.2.7) pro t = 0, kdyˇz souˇcasnˇe posuneme indexov´an´ı:

x→xlimi+s(x) = −6fi/h2i+1+ 6fi+1/h2i+1− 4mi/hi+1− 2mi+1/hi+1. (5.2.9) Dosad´ıme-li (5.2.8) a (5.2.9) do (5.2.6), dostaneme po jednoduch´e ´upravˇe

hi+1mi−1+ 2(hi+1+ hi)mi+ himi+1 = 3 −hi+1

hi fi−1+ hi+1

hi hi hi+1

fi+ hi hi+1fi+1

!

, i = 1, . . . , n− 1. (5.2.10)

(14)

Tyto rovnosti tvoˇr´ı soustavu n−1 rovnic pro n+ 1 nezn´am´ych mi, i = 0, 1, . . . .n.

Abychom dostali jedin´e ˇreˇsen´ı, urˇc´ıme m0 a mnnapˇr´ıklad jako pˇribliˇzn´e derivace:

m0 = f1− f0

h1 , mn= fn− fn−1

hn . (5.2.11)

Pˇr´ıklad 5.2.2. Mˇejme d´any uzly x0 =−2, x1 =−1, x2 = 1, x3 = 2 a funkˇcn´ı hodnoty f0 = 10, f1 = 4, f2 = 6, f3 = 3. Napiˇste kubick´y interpolaˇcn´ı splajn.

Reˇˇ sen´ı: Nejdˇr´ıve vypoˇc´ıt´ame parametry mi, i = 0, 1, 2, 3. Podle (5.2.11) je m0 = 4− 10

−1 + 2 =−6, m3 = 3− 6

2− 1 =−3.

Soustava (5.2.10) m´a dvˇe rovnice:

2(h2+ h1)m1+ h1m2 = 3 −h2 h1f0+

h2 h1 h1

h2

f1+h1 h2f2

!

− h2m0,

h3m1 + 2(h3+ h2)m2 = 3 −h3 h2f1+

h3 h2 h2

h3

f2+h2 h3f3

!

− h2m3, kter´e m˚uˇzeme ps´at jako

⎜⎝ 6 1 1 6

⎟⎠

⎜⎝ m1 m2

⎟⎠ =

⎜⎝ −21

−9

⎠ .

Vyˇreˇsen´ım dostaneme m1 = 23470, m2 = 6670. V´ysledn´y splajn zap´ıˇseme podle (5.2.2) po ˇc´astech:

s3(x) =

⎧⎪

⎪⎪

⎪⎨

⎪⎪

⎪⎪

10ϕ1(t) + 4ϕ2(t)− 6ϕ3(t)− 11735ϕ4(t), t = x + 2 pro x∈ −2, −1, 1(t) + 6ϕ2(t)− 23435ϕ3(t)− 6635ϕ4(t), t = (x + 1)/2 pro x∈ −1, 1, 1(t) + 3ϕ2(t)− 3335ϕ3(t)− 3ϕ4(t), t = x− 1 pro x ∈ 1, 2, kde ϕ1(t) = 1− 3t2+ 2t3, ϕ2(t) = 3t2− 2t3, ϕ3(t) = t− 2t2+ t3, ϕ4(t) =−t2+ t3. Graf je zn´azornˇen na obr´azku 5.2.1.

Pˇr´ıklad 5.2.3. (Rungeho pˇr´ıklad, pokraˇcov´an´ı) Nakresl´ıme graf inter- polaˇcn´ıho kubick´eho splajnu pro funkci f a uzly xi z pˇr´ıkladu 5.1.4. a porovn´ame ho s grafem interpolaˇcn´ıho polynomu.

(15)

−2 −1 0 1 2 2

4 6 8 10

s1 s3

Obr´azek 5.2.1: Graf line´arn´ıho (s1) a kubick´eho interpolaˇcn´ıho (s3) splajnu.

Reˇˇ sen´ı: Na obr´azku 5.2.2 vid´ıme, ˇze splajn s3 neosciluje a je proto mno- hem lepˇs´ı aproximac´ı interpolovan´e funkce f neˇz interpolaˇcn´ı polynom p10, viz obr´azek 5.1.2.b.

−5 0 5

0 0.2 0.4 0.6 0.8 1

−5 0 5

0 0.2 0.4 0.6 0.8 1

a b

Obr´azek 5.2.2: a) Funkce f ; b) Kubick´y interpolaˇcn´ı splajn s3.

Kontroln´ı ot´azky

Ot´azka 1. Co je to splajn? Jak se definuje a poˇc´ıt´a splajn line´arn´ı a kubick´y?

Ot´azka 2. Jak se chovaj´ı pˇri interpolaci splajny v porovn´an´ı s polynomy?

(16)

Ulohy k samostatn´´ emu ˇreˇsen´ı

1. Pro uzly x0 =−1, x1 = 0, x2 = 2, x3 = 3, x4 = 5 a funkˇcn´ı hodnoty f0 =−2, f1 = 1, f2 = 0, f3 = 2, f4 =−1 sestavte line´arn´ı interpolaˇcn´ı splajn.

2. Pro stejn´a data sestavte kubick´y interpolaˇcn´ı splajn.

V´ysledky ´uloh k samostatn´emu ˇreˇsen´ı 1.

s1(x) =

⎧⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎨

⎪⎪

⎪⎪

⎪⎪

⎪⎪

−2ϕ1(t) + ϕ2(t), t = x + 1 pro x∈ −1, 0, ϕ1(t), t = x/2 pro x∈ 0, 2, 2(t), t = x− 2 pro x∈ 2, 3, 1(t)− 1ϕ2(t), t = (x− 3)/2 pro x ∈ 3, 5, kde ϕ1(t) = 1− t, ϕ2(t) = t.

2. Krajn´ı parametry jsou m0 = 3, m4 =32, ostatn´ı dostaneme ze soustavy

⎜⎜

⎜⎜

6 1 0 1 6 2 0 2 6

⎟⎟

⎟⎟

⎜⎜

⎜⎜

m1 m2 m3

⎟⎟

⎟⎟

⎠=

⎜⎜

⎜⎜

212 212

9

⎟⎟

⎟⎟

,

takˇze m1 = 9762, m2 = 6962, m3 = 3531 a koneˇcnˇe

s3(x) =

⎧⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎨

⎪⎪

⎪⎪

⎪⎪

⎪⎪

−2ϕ1(t) + ϕ2(t) + 3ϕ3(t) + 9762ϕ4(t), t = x + 1 pro x∈ −1, 0, ϕ1(t) + 9731ϕ3(t) +6931ϕ4(t), t = x/2 pro x∈ 0, 2, 2(t) + 6962ϕ3(t) +35314(t), t = x− 2 pro x ∈ 2, 3, 1(t)− ϕ2(t) +7031ϕ3(t)− 3ϕ4(t), t = (x− 3)/2 pro x ∈ 3, 5, kde ϕ1(t) = 1−3t2+ 2t3, ϕ2(t) = 3t2−2t3, ϕ3(t) = t−2t2+ t3, ϕ4(t) =−t2+ t3.

(17)

5.3. Aproximace metodou nejmenˇ s´ıch ˇ ctverc˚ u

C´ıle

V mnoha situac´ıch, v nichˇz je potˇreba danou funkci f nahradit funkc´ı

”jed- noduˇsˇs´ı”, je nevhodn´e nebo v˚ubec nelze pouˇz´ıt interpolaci. Jsou-li napˇr´ıklad v uz- lech zad´any nepˇresn´e hodnoty, pˇren´aˇs´ı se tato nepˇresnost i na interpolant. Inter- polace je nepouˇziteln´a, jestliˇze je poˇzadov´an jist´y charakter aproximuj´ıc´ı funkce a pˇritom ˇz´adn´a funkce tohoto charakteru nen´ı interpolantem. V tˇechto pˇr´ıpadech je rozumn´e pouˇz´ıt metodu nejmenˇs´ıch ˇctverc˚u.

Pˇredpokl´adan´e znalosti

Line´arn´ı z´avislost a nez´avislost. Urˇcen´ı minima funkce pomoc´ı derivace. ˇReˇsen´ı soustav line´arn´ıch rovnic.

V´yklad

Zaˇcneme pˇr´ıkladem.

Pˇr´ıklad 5.3.1. Mˇejme d´any uzly x0 =−2, x1 =−1, x2 = 1, x3 = 2 a funkˇcn´ı hodnoty f0 = 10, f1 = 4, f2 = 6, f3 = 3. Najdˇete pˇr´ımku

ϕ(x) = c1 + c2x, (5.3.1)

kter´a je

”bl´ızko” pˇredepsan´ym hodnot´am.

Reˇˇ sen´ı: Nejdˇr´ıve se mus´ıme rozhodnout jak ch´apat slovo

”bl´ızko”. Uˇz jsme to vlastnˇe ˇrekli, kdyˇz jsme popisovali smysl pˇribliˇzn´ych rovnost´ı v aproximaˇcn´ı

´

uloze (5.0.2). Pˇr´ımku ϕ urˇc´ıme tak, aby minimalizovala souˇcet druh´ych mocnin odchylek3

i=0(ϕ(xi)−fi)2. Jestliˇze sem dosad´ıme (5.3.1), dostaneme ´ulohu na mi- nimalizaci funkce dvou promˇenn´ych Ψ(c1, c2) = 3

i=0(c1+ c2xi− fi)2. Minimum

(18)

c1, c2 vyhovuje rovnic´ım

∂Ψ

∂c1(c1, c2) = 0, ∂Ψ

∂c2(c1, c2) = 0.

Po vyj´adˇren´ı parci´aln´ıch derivac´ı dost´av´ame

2

3 i=0

(c1+ c2xi− fi) = 0, 2

3 i=0

(c1+ c2xi − fi)xi = 0,

coˇz je soustava line´arn´ıch rovnic

⎜⎜

⎜⎜

3 i=0

1

3 i=0

xi

3 i=0

xi

3 i=0

x2i

⎟⎟

⎟⎟

c1 c2

⎠ =

⎜⎜

⎜⎜

3 i=0

fi

3 i=0

fixi

⎟⎟

⎟⎟

, tj.

⎝ 4 0 0 10

c1 c2

⎠ =

⎝ 23

−12

⎠ .

Tato soustava m´a jedin´e ˇreˇsen´ı c1 = 234, c2 =65, takˇze hledan´a pˇr´ımka ϕ = ϕ je urˇcena pˇredpisem

ϕ(x) = 23 4 6

5x. (5.3.2)

Jej´ı graf je zn´azornˇen na obr´azku 5.3.1. 2

−2 −1 0 1 2

2 4 6 8 10

Obr´azek 5.3.1: Aproximace metodou nejmenˇs´ıch ˇctverc˚u; pˇr´ımka (5.3.2) plnˇe;

funkce (5.3.8) ˇc´arkovanˇe.

(19)

Postup z pˇr´ıkladu nyn´ı zobecn´ıme. Budeme pˇredpokl´adat, ˇze je d´an syst´em funkc´ı ϕj = ϕj(x), j = 1, . . . , m a budeme uvaˇzovat vˇsechny funkce ve tvaru

ϕ(x) = c1ϕ1(x) + . . . + cmϕm(x) =

m j=1

cjϕj(x), (5.3.3)

kde koeficienty c1, . . . , cm jsou libovoln´a ˇc´ısla. Funkci ϕ, pro niˇz plat´ı

n i=1

(xi)− fi)2

n i=1

(ϕ(xi)− fi)2 ∀ϕ (5.3.4)

naz´yv´ame aproximac´ı podle metody nejmenˇs´ıch ˇctverc˚u. Jej´ı koeficienty c1, . . . , cm urˇc´ıme jako minimum funkce

Ψ(c1, . . . , cm) =

n i=1

(

m j=1

cjϕj(xi)− fi)2, (5.3.5)

kter´e vyhovuje rovnic´ım

∂Ψ

∂ck(c1, . . . , cm) = 0, k = 1, . . . , m. (5.3.6) Vyj´adˇr´ıme-li parci´aln´ı derivace

∂Ψ

∂ck = 2

n i=1

(

m j=1

cjϕj(xi)− fik(xi)

a dosad´ıme je do (5.3.6), dostaneme po jednoduch´e ´upravˇe soustavu line´arn´ıch rovnic

m j=1

 n



i=1

ϕj(xik(xi)

 cj =

n i=1

fiϕk(xi), k = 1, . . . , m. (5.3.7)

Soustava (5.3.7) se naz´yv´a soustava norm´aln´ıch rovnic.

Vˇeta 5.3.1.

Necht’ jsou d´any vz´ajemnˇe r˚uzn´e uzly xi a funkˇcn´ı hodnoty fi, i = 0, . . . , n.

Necht’ je d´an syst´em funkc´ı ϕj, j = 1, . . . , m, kter´e jsou line´arnˇe nez´avisl´e. Potom existuje jedin´a funkce ϕ, kter´a splˇnuje (5.3.4) a jej´ı koeficienty c1, . . . , cm jsou ˇreˇsen´ım soustavy norm´aln´ıch rovnic (5.3.7).

(20)

D˚ukaz: V bodˇe c1, . . . , cm, kter´y vyhovuje rovnic´ım (5.3.6), nab´yv´a funkce Ψ minima, jestliˇze matice druh´ych derivac´ı je symmetrick´a a pozitivnˇe definitn´ı (kladn´a). Druh´e derivace jsou urˇceny vzorcem

2Ψ

∂ck∂cl = 2

n i=1

ϕl(xik(xi),

odkud je symetrie zˇrejm´a na prvn´ı pohled (prohozen´ım index˚u k a l se nic nezmˇen´ı). Necht’ d1, . . . , dm jsou ˇc´ısla ne vˇsechny souˇcasnˇe nulov´a. Potom

m k=1

m l=1

dkdl 2Ψ

∂ck∂cl = 2

n i=1

"m

l=1

dlϕl(xi)

#"m

k=1

dkϕk(xi)

#

= 2

n i=1

˜

ϕ(xi)2 > 0, kde ˜ϕ(x) = m

k=1dkϕk(x), takˇze matice druh´ych derivac´ı je pozitivnˇe definitn´ı.

Odtud tak´e plyne, ˇze matice soustavy norm´aln´ıch rovnic je regul´arn´ı, coˇz zna- men´a, ˇze existuje jej´ı jedin´e ˇreˇsen´ı c1, . . . , cm, kter´e urˇcuje jedinou funkci ϕ. 2

Pˇri aproximaci metodou nejmenˇs´ıch ˇctverc˚u se mus´ıme nejdˇr´ıve rozhodnout pro nˇejak´y line´arnˇe nez´avisl´y syst´em funkc´ı ϕj, j = 1, . . . , m. Pot´e staˇc´ı sestavit a vyˇreˇsit soustavu norm´aln´ıch rovnic (5.3.7).

Pˇr´ıklad 5.3.2. Napiˇste norm´aln´ı soustavu line´arn´ıch rovnic odpov´ıdaj´ıc´ı syst´emu funkc´ı

ϕ1(x) = e−x, ϕ2(x) = sin x.

Aproximujte data z pˇr´ıkladu 5.3.1.

Reˇˇ sen´ı: Obecnˇe m´a soustava norm´aln´ıch rovnic tvar

⎜⎜

⎜⎝

n i=0

e−2xi

n i=0

e−xisin xi

n i=0

e−xisin xi

n i=0

sin2xi

⎟⎟

⎟⎠

c1 c2

⎠ =

⎜⎜

⎜⎝

n i=0

fie−xi

n i=0

fisin xi

⎟⎟

⎟⎠.

Po dosazen´ı dostaneme

⎜⎝ 62.1409 −8.5736

−8.5736 3.0698

⎟⎠

c1 c2

⎠ =

⎜⎝ 87.3770

−4.6821

⎟⎠

(21)

a odtud vypoˇc´ıt´ame c1 = 1.9452, c2 = 3.9076, tj.

ϕ(x) = 1.9452e−x+ 3.9076 sin x. (5.3.8) Graf je zn´azornˇen na obr´azku 5.3.1.

Kontroln´ı ot´azky

Ot´azka 1. Kdy je vhodn´e pouˇz´ıt metodu nejmenˇs´ıch ˇctverc˚u?

Ot´azka 2. Graficky zn´azornˇete smysl v´yrazu pro souˇcet druh´ych mocnin odchylek?

Ot´azka 3. Co je to norm´aln´ı soustava line´arn´ıch rovnic a jak vznikne?

Ot´azka 4. Co se stane, kdyˇz v (5.3.3) a (5.3.4) bude m = n + 1?

Ulohy k samostatn´´ emu ˇreˇsen´ı

1. Napiˇste soustavu norm´aln´ıch line´arn´ıch rovnic pro syst´em funkc´ı ϕ1(x) = 1, ϕ2(x) = x, ϕ3(x) = x2.

2. Data x0 = −1, x1 = 0, x2 = 2, x3 = 3, x4 = 5 a f0 = −2, f1 = 1, f2 = 0, f3 = 2, f4 =−1 aproximujte metodou nejmenˇc´ıch ˇctverc˚u pomoc´ı syst´emu funkc´ı z pˇredchoz´ı ´ulohy.

V´ysledky ´uloh k samostatn´emu ˇreˇsen´ı 1. Norm´aln´ı soustava m´a tvar:

⎜⎜

⎜⎜

⎜⎜

⎜⎜

n i=0

1

n i=0

xi

n i=0

x2i

n i=0

xi

n i=0

x2i

n i=0

x3i

n i=0

x2i

n i=0

x3i

n i=0

x4i

⎟⎟

⎟⎟

⎟⎟

⎟⎟

⎜⎜

⎜⎝ c1 c2 c3

⎟⎟

⎟⎠=

⎜⎜

⎜⎜

⎜⎜

⎜⎜

n i=0

fi

n i=0

fixi

n i=0

fix2i

⎟⎟

⎟⎟

⎟⎟

⎟⎟

.

2. ϕ(x) = −0.2835x2+ 1.2359x− 0.0130.

Shrnut´ı lekce

Uk´azali jsme z´akladn´ı postupy pro aproximaci funkc´ı (dat) pomoc´ı interpolace a metody nejmenˇs´ıch ˇctverc˚u.

References

Related documents

Za pˇ redpokladu ´ uspˇ eˇ sn´ eho otestov´ an´ı by n´ asledovalo vyuˇ zit´ı odhadnut´ eho a verifikovan´ eho modelu pro predikci, nebo bliˇ zˇ s´ı anal´ yzu zkouman´

Pr´ ace navazuj´ıc´ı na tuto by se mohly zab´ yvat vlivem r˚ uzn´ ych pˇredpomiˇ novaˇ c˚ u na ˇ casovou n´ aroˇ cnost ˇreˇsen´ı pˇri pouˇ zit´ı monolitick´

Pˇredloˇ zen´ a disertaˇ cn´ı pr´ ace se zab´ yv´ a adaptac´ı existuj´ıc´ıho syst´ emu automatick´ eho rozpozn´ av´ an´ı ˇreˇ ci (ASR) pro dalˇs´ı jazyky.. Zamˇ eˇruje

Kromˇ e fin´ aln´ı verze, kter´ a komplexnˇ e zpracov´ av´ a veˇsker´ e dan´ e poˇ zadavky, vzni- kala souˇ casnˇ e i verze, kter´ a fungovala bez pouˇ zit´ı detektoru

Ke kaˇ zd´ emu videu pouˇ zit´ emu pˇri testov´ an´ı byly hod- noty poˇ ctu osob, kter´ e proˇsly a poˇ ctu unik´ atn´ıch osob, kter´ e se ve videu objevily tak´ e

Na z´ akladˇ e anal´ yzy relaˇ cn´ı a nerelaˇ cn´ı datab´ aze a poˇ zadavk˚ u k t´ eto bakal´ aˇrsk´ e pr´ aci lze ˇr´ıct, ˇ ze nerelaˇ cn´ı syst´ emy ˇr´ızen´ı b´

Mezi data ukl´ adan´ a do datab´ aze patˇr´ı informace o pool serveru, ke kter´ emu je tˇ eˇ zebn´ı klient aktu´ alnˇ e pˇripojen, informace o dobˇ e tˇ eˇ zby aktu´

Pˇri zpracov´ an´ı poˇ zadavk˚ u pˇrid´ avaj´ıc´ıch nov´ y z´ aznam trestn´ e ˇ cinnosti, aplikace z´ısk´ av´ a data o poˇ cas´ı.. Zdrojem dat je port´