• No results found

Aplikace pro numerick´e ˇreˇsen´ı matematick´ych ´uloh

N/A
N/A
Protected

Academic year: 2022

Share "Aplikace pro numerick´e ˇreˇsen´ı matematick´ych ´uloh"

Copied!
117
0
0

Loading.... (view fulltext now)

Full text

(1)

Aplikace pro numerick´ e ˇ reˇ sen´ı matematick´ ych ´ uloh

Diplomov´ a pr´ ace

Studijn´ı program: N2612 – Elektrotechnika a informatika Studijn´ı obor: 1802T007 – Informaˇcn´ı technologie Autor pr´ace: Bc. Zdenˇek Kybl

Vedouc´ı pr´ace: RNDr. Dana ˇCern´a, Ph.D.

(2)

Applications for the numerical solution of mathematical problems

Diploma thesis

Study programme: N2612 – Electrotechnology and informatics Study branch: 1802T007 – Information technology

Author: Bc. Zdenˇek Kybl

Supervisor: RNDr. Dana ˇCern´a, Ph.D.

(3)
(4)
(5)
(6)

Abstrakt

Diplomov´a pr´ace si klade za c´ıl vytvoˇren´ı reˇserˇse vybran´ych nu- merick´ych metod a zhotoven´ı aplikace, jeˇz slouˇz´ı zejm´ena jako di- daktick´a pom˚ucka student˚um pˇri studiu problematiky numerick´e matematiky. Teoretick´a ˇc´ast je rozdˇelena do ˇsesti kapitol, pˇriˇcemˇz v kaˇzd´e kapitole jsou charakterizov´any hlavn´ı principy numerick´ych metod jednoho odvˇetv´ı numerick´e matematiky. Pr´ace postupnˇe seznamuje s algoritmy zab´yvaj´ıc´ımi se aproximac´ı a interpolac´ı funkce, numerickou integrac´ı a derivac´ı, ˇreˇsen´ım neline´arn´ıch rov- nic, metodami pro ˇreˇsen´ı soustav line´arn´ıch rovnic a s algoritmy slouˇz´ıc´ımi pro v´ypoˇcet vlastn´ıch ˇc´ısel a vlastn´ıch vektor˚u re´aln´ych symetrick´ych matic. V praktick´e ˇc´asti je nejprve pˇredstavena apli- kace implementovan´a v jazyce C# z pohledu jej´ıho n´avrhu, kdy jsou bl´ıˇze pˇredstaveny vˇsechny vrstvy aplikace. Pozdˇeji je ilustrov´ana interakce jednotliv´ych vrstev aplikace a dˇen´ı v pozad´ı aplikace pˇri jej´ım uˇz´ıv´an´ı uˇzivatelem. Pro zajiˇstˇen´ı dostateˇcn´e didaktick´e ´urovnˇe vyuˇz´ıv´a aplikace n´astroj˚u, pomoc´ı nichˇz doch´az´ı k zobrazen´ı nejen z´ıskan´eho ˇreˇsen´ı, ale i postupu, kter´y vedl k jeho dosaˇzen´ı. V pˇr´ıpadˇe aproximace a interpolace funkce, ˇreˇsen´ı neline´arn´ıch rovnic a nume- rick´e integrace je didaktick´a ´uroveˇn umocnˇena grafickou interpre- taci ´ulohy a jej´ıho ˇreˇsen´ı. Aplikace d´ale obsahuje sadu cviˇcn´ych

´

uloh a podporuje exporty do dalˇs´ıch form´at˚u. Pro distribuci apli- kace byly zhotoveny webov´e str´anky.

Kl´ıˇ cov´ a slova

Numerick´a matematika, aproximace funkc´ı, numerick´a integrace, numerick´a derivace, neline´arn´ı rovnice, soustavy line´arn´ıch rovnic, vlastn´ı ˇc´ısla a vektory symetrick´ych matic, didaktick´a aplikace, po- stup v´ypoˇctu, cviˇcn´e ´ulohy, export

(7)

Abstract

The aim of the thesis is a review of numerical methods and ma- nufacturing applications, which are mainly used as a didactic aid for students studying the problems of numerical mathematics. The theoretical part is divided into six chapters, where each chapter outlines the main principles of numerical methods, one branch of numerical mathematics. Work gradually introduces algorithms dealing with approximations and interpolation functions, numeri- cal integration and differentiation, solution of nonlinear equations, methods for solving systems of linear equations and algorithms ser- ving for calculating eigenvalues and eigenvectors of real symmetric matrices. The practical part is firstly introduced by application im- plemented in language C# in terms of its design, which introduces each application layer in more details. Then the interaction of the layers of the application during its use is illustrated. To ensure suffi- cient levels of educational uses the application uses tools for viewing not only the results, but also the process leading to their achie- vement. In the case of approximation and interpolation functions, solving nonlinear equations and numerical integration a didactic le- vel is enhanced by graphical interpretation of the examples and its solutions. The application also includes a set of training tasks and supports exports to other formats. The websites were made for dis- tribution of the application.

Keywords

Numerical methods, approximation of function, numerical in- tegration, numerical differentiation, nonlinear equations, linear equations, eigenvalues and eigenvectors of symmetric matrices, di- dactic applications, calculation procedure, practice tasks, export

(8)

Podˇ ekov´ an´ı

R´ad bych podˇekoval vedouc´ı m´e pr´ace RNDr. Danˇe ˇCern´e, Ph.D.

za odborn´e veden´ı, cenn´e rady, trpˇelivost a ochotu, kterou mi v pr˚ubˇehu zpracov´an´ı diplomov´e pr´ace vˇenovala.

(9)

Obsah

Seznam zkratek . . . 10

Seznam obr´azk˚u. . . 11

Seznam tabulek . . . 11

Uvod´ 13 1 Aproximace funkce 14 1.1 Aproximace interpolaˇcn´ım polynomem . . . 14

1.2 Interpolace spline funkcemi. . . 17

1.3 Metoda nejmenˇs´ıch ˇctverc˚u. . . 21

2 Numerick´a derivace 23 2.1 Derivace pomoc´ı interpolace . . . 23

2.2 Richardsonova extrapolace . . . 25

3 Numerick´a integrace funkc´ı 27 3.1 Newton-Cotesovy vzorce . . . 27

3.2 Metoda poloviˇcn´ıho kroku . . . 34

3.3 Rombergova kvadratura . . . 35

3.4 Gaussova kvadratura . . . 36

4 Neline´arn´ı rovnice 42 4.1 Metoda p˚ulen´ı intervalu . . . 42

4.2 Metoda regula falsi . . . 43

4.3 Metoda seˇcen . . . 43

4.4 Newtonova metoda . . . 44

4.5 Steffensenova metoda . . . 44

4.6 Halleyova metoda . . . 44

4.7 Sturmova posloupnost . . . 45

5 Line´arn´ı rovnice 46 5.1 Z´akladn´ı pojmy . . . 46

5.2 Pˇr´ım´e metody . . . 48

5.3 Iteraˇcn´ı metody . . . 51

5.4 Soustavy s obd´eln´ıkovou matic´ı . . . 54

(10)

6 Vlastn´ı ˇc´ısla a vlastn´ı vektory matic 56

6.1 Z´akladn´ı pojmy . . . 56

6.2 C´ˇasteˇcn´y probl´em vlastn´ıch ˇc´ısel . . . 59

6.3 Upln´´ y probl´em vlastn´ıch ˇc´ısel . . . 63

7 Implementace aplikace 72 7.1 Implementaˇcn´ı vrstva aplikace . . . 72

7.2 Kontroln´ı a v´ypoˇcetn´ı vrstva . . . 80

7.3 Prezentaˇcn´ı vrstva aplikace . . . 84

7.4 Ilustrace interakce vrstev aplikace . . . 90

7.5 Distribuce a instalace aplikace . . . 96

Z´avˇer 98

Literatura 100

A Uk´azky aplikace 105

B Obsah DVD 116

(11)

Seznam zkratek

N Mnoˇzina pˇrirozen´ych ˇc´ısel R Mnoˇzina re´aln´ych ˇc´ısel C Mnoˇzina komplexn´ıch ˇc´ısel f (x) Hodnota funkce f v bodˇe x

f0(x) Hodnota prvn´ı derivace funkce f v bodˇe x

b

R

a

f (x)dx Integr´al funkce f na intervalu ha, bi limx→0f Limita funkce f pro x jdouc´ı k nule δij Kroneckerovo delta

∀ Pro vˇsechna

∃ Existuje

∈ Je prvkem

Cn+1(I) Prostor (n + 1) spojit´ych derivac´ı na intervalu I Πn Prostor polynom˚u stupnˇe nejv´yˇse n

Π˜n Prostor normovan´ych polynom˚u stupnˇe nejv´yˇse n AT Transponovan´a matice k matici A

A−1 Inverzn´ı matice k matici A

A+ Pseudoinverzn´ı matice k matici A h(A) hodnost matice A

I Jednotkov´a matice det(A) Determinant matice A λ Vlastn´ı ˇc´ıslo matice ha, bi Uzavˇren´y interval (a, b) Otevˇren´y interval

ρ(A) Spektr´aln´ı polomˇer matice A σi i-t´e singul´arn´ı ˇc´ıslo

kxk Euklidovsk´a norma vektoru x

|a| Absolutn´ı hodnota a

AJAX Asynchronous JavaScript and XML BMP Bit Mapped Picture

GIF Graphic Interchange Format GUI Graphic User Interface

HTML HyperText Markup Language JPG Joint Photographic Experts Group LIFO Last In First Out

MathML Mathematical Markup Language MSIE Microsoft Internet Explorer PDF Portable Document Format PNG Portable Network Graphics RPN Reverzn´ı polsk´a notace TIFF Tag Image File Format XML Extensible Markup Language

XSD XML Schema

(12)

Seznam obr´ azk˚ u

6.1 Odvozen´ı Householderovy matice . . . 65

6.2 Odvozen´ı matice rovinn´e rotace . . . 68

7.1 Zjednoduˇsen´y diagram n´avrhu aplikace . . . 79

7.2 Uk´azka pˇrevodu v´yrazu do MathML . . . 87

7.3 Zjednoduˇsen´y postup v´ypoˇctu ´ulohy obd´eln´ıkov´ym pravidlem s n´asledn´ym zobrazen´ı pomoc´ı Awesomia . . . 91

7.4 Diagram zn´azorˇnuj´ıc´ı naˇcten´ı cviˇcn´e ´ulohy . . . 92

7.5 Uk´azka postupu generov´an´ı HTML pro Gaussovu eliminaci a jeho zobrazen´ı pomoc´ı Awesomia . . . 95

7.6 Uk´azka postupu pˇri exportu do PDF . . . 96

(13)

Seznam tabulek

2.1 Richardsonova extrapolace . . . 26 3.1 Uzly a v´ahy Gaussovy kvadratury . . . 41 7.1 Priorita oper´ator˚u v metodˇe RPN. . . 82

(14)

Uvod ´

Skoro kaˇzd´y ˇclovˇek modern´ıho svˇeta dennˇe vyuˇz´ıv´a technick´ych pom˚ucek ˇci vymoˇzenost´ı, aniˇz by si uvˇedomoval, ˇze za jejich objeven´ım stoj´ı velice ˇcasto r˚uzn´a odvˇetv´ı matematiky. Pˇri v´yvoji tˇechto modern´ıch v´ydobytk˚u ˇcasto nar´aˇz´ıme na ve- lice sloˇzit´e matematick´e modely a metody. V pˇredpoˇc´ıtaˇcov´e ´eˇre bylo naprosto nepˇredstaviteln´e prov´adˇet velk´e mnoˇzstv´ı poˇcetn´ıch operac´ı, a proto se odborn´ıci aplikovan´e matematiky snaˇzili nal´ezt ˇreˇsen´ı analytick´ym zp˚usobem, pomoc´ı nˇehoˇz doˇslo k redukci poˇctu prov´adˇen´ych operac´ı. Ovˇsem z´ısk´an´ı tohoto pˇresn´eho ˇreˇsen´ı je mnohdy nemoˇzn´e, ˇci velice sloˇzit´e a pracn´e. Naˇstˇest´ı se ukazuje, ˇze pro re´aln´e vyuˇzit´ı n´am ve vˇetˇsinˇe pˇr´ıpad˚u postaˇc´ı pouze ˇreˇsen´ı pˇribliˇzn´e. A v tuto chv´ıli pˇrich´az´ı na ˇradu numerick´a matematika.

Numerick´a matematika zaznamenala prudk´eho rozmachu aˇz s rozvojem poˇc´ıtaˇc˚u, kdy doˇslo k v´yrazn´emu zlevnˇen´ı poˇcetn´ı operace. Proto mohly pˇrej´ıt do popˇred´ı v´ypoˇcty ˇcasto cyklick´eho charakteru, v nichˇz m˚uˇzeme uvaˇzovat dˇr´ıve nemysliteln´e poˇcty operac´ı.

I pˇres nesporn´e vyuˇzit´ı numerick´e matematiky a matematiky obecnˇe pˇri ˇreˇsen´ı re´aln´ych probl´em˚u (jmenujme napˇr´ıklad odvˇetv´ı stroj´ırenstv´ı, teorie obvod˚u ˇci sta- vitelstv´ı) nen´ı o studium t´eto problematiku pˇr´ıliˇs velk´y z´ajem. Z tohoto d˚uvodu si pˇredkl´adan´a diplomov´a pr´ace klade nejprve za ´ukol sezn´amit ˇcten´aˇre s vybran´ymi numerick´ymi metodami z oblasti aproximace funkce, numerick´eho v´ypoˇctu urˇcit´eho integr´alu a derivace, s postupy pro ˇreˇsen´ı neline´arn´ıch rovnic ˇci metodami pro ˇreˇsen´ı soustav line´arn´ıch rovnic a v neposledn´ı ˇradˇe tak´e s algoritmy pro v´ypoˇcet vlastn´ıch ˇc´ısel a vlastn´ıch vektor˚u re´aln´ych symetrick´ych matic.

Na z´akladˇe t´eto teoretick´e stati si diplomov´a pr´ace klade za c´ıl vytvoˇren´ı di- daktick´e aplikace, kter´a na rozd´ıl od jiˇz existuj´ıc´ıch matematick´ych program˚u, bude kromˇe samotn´eho ˇreˇsen´ı uˇzivateli interpretovat i postup v´ypoˇctu, pomoc´ı nˇehoˇz bylo ˇreˇsen´ı dosaˇzeno. Implementovan´a aplikace by mˇela d´ale obsahovat soubor cviˇcn´ych

´

uloh vˇcetnˇe podpory pro vykreslov´an´ı graf˚u a export˚u dat. Pro snazˇs´ı distribuci aplikace pˇr´ıpadn´emu ˇcten´aˇri bude v r´amci ˇreˇsen´ı diplomov´e pr´ace zhotovena webov´a str´anka, kter´a bude obsahovat zhotovenou aplikaci.

Pˇredkl´adan´a diplomov´a pr´ace by tedy mˇela slouˇzit zejm´ena jako studijn´ı opora a souˇcasnˇe jako v´yukov´a pom˚ucka pro z´ajemce zab´yvaj´ıc´ı se problematikou nume- rick´e matematiky.

(15)

1 Aproximace funkce

V prvn´ı kapitole se budeme zab´yvat metodami pro interpolaci a aproximaci funkce. Princip aproximace funkce spoˇc´ıv´a v nahrazen´ı jist´e funkce f jinou funkc´ı φ, kter´a je v jist´em smyslu p˚uvodn´ı funkci podobn´a.

Aproximuj´ıc´ı funkce φ by mˇela b´yt co moˇzn´a nejjednoduˇsˇs´ı, a z´aroveˇn by mˇela b´yt zadan´ym bod˚um f (xi) pro i = 0, . . . ., n co nejbl´ıˇze.

Vyuˇzit´ı aproximac´ı funkce je pomˇernˇe r˚uznorod´e. Pokud napˇr´ıklad chceme na poˇc´ıtaˇci vypoˇc´ıtat funkˇcn´ı hodnotu jist´e funkce, tak v´ypoˇcet t´eto hodnoty se ˇcasto dˇeje pr´avˇe pomoc´ı aproximac´ı funkc´ı, kdy je vstupn´ı funkce f nahrazena jist´ym po- lynomem P , a to zejm´ena z d˚uvodu snadn´e a hlavnˇe rychl´e pr´ace s mnohoˇcleny.

Polynomy jsou totiˇz pomˇernˇe snadno vyˇc´ısliteln´e, jejich derivace i integr´aly jsme schopni snadno a rychle vypoˇc´ıtat.

Dalˇs´ı oblast´ı, kter´e se budeme vˇenovat pozdˇeji a kde m˚uˇzeme vidˇet vyuˇzit´ı apro- ximac´ı funkce, je v´ypoˇcet integr´alu, kdy opˇet nahrazujeme vstupn´ı funkci f jist´ym polynomem P .

Nyn´ı vyvst´av´a ot´azka, jak nal´ezt funkci, kter´a bude aproximovat p˚uvodn´ı funkci.

Existuje nˇekolik typ˚u metod pro jej´ı urˇcen´ı. Prvn´ım typem, se kter´ym se budeme bl´ıˇze seznamovat, je aproximace interpolaˇcn´ım polynomem.

1.1 Aproximace interpolaˇ cn´ım polynomem

O interpolaci mluv´ıme tehdy, je-li ´ukolem stanovit hodnotu funkce f v bodech leˇz´ıc´ıch mezi dvˇema tabulkov´ymi body.

Snaˇz´ıme se nal´ezt funkci, kter´a v bodech x0, x1, x2, . . . , xnnab´yv´a hodnoty f (x0), f (x1), f (x2), . . . , f (xn). Body x0, x1, x2, . . . , xn naz´yv´ame uzlov´e body.

1.1.1 Lagrange˚ uv interpolaˇ cn´ı polynom

Lagrangeova interpolace je aproximace polynomem Ln, pro kter´y plat´ı, ˇze splˇnuje z´akladn´ı ´ulohu interpolace.

Definice 1.1.1. Uvaˇzujme n + 1 bod˚u, kter´e jsou navz´ajem r˚uzn´e. Hled´ame poly- nom Ln stupnˇe nejv´yˇse n takov´y, ˇze plat´ı f (xi) = Ln(xi), i = 0, . . . , n. Tento probl´em budeme oznaˇcovat jako z´akladn´ı ´ulohu interpolace. Polynom Ln se naz´yv´a Lagrange˚uv interpolaˇcn´ı polynom.

(16)

Vˇeta 1.1.1. Mˇejme d´any body [xi, f (xi)], i = 0, . . . , n. Pak existuje pr´avˇe jeden interpolaˇcn´ı polynom Ln stupnˇe nejv´yˇse n takov´y, ˇze Ln(xi) = f (xi), i = 0, . . . , n.

D˚ukaz. Pˇredpokl´adejme, ˇze existuj´ı dva polynomy Lna Rnstupnˇe nejv´yˇse n takov´e, ˇze Ln(xi) = Rn(xi) = f (xi) pro i = 0, . . . , n. Uk´aˇzeme, ˇze jsou tyto dva polynomy shodn´e.

Poloˇzme Qn = Ln− Rn. Potom Qn(xi) = Ln(xi) − Rn(xi) = 0. Polynom Qn je polynom stupnˇe n, kter´y m´a n + 1 nulov´ych bod˚u. Podle z´akladn´ı vˇety algebry je tento polynom identicky roven nule, a tedy Ln≡ Rn.

Hled´ame polynom stupnˇe nejv´yˇse n , kter´y splˇnuje podm´ınku interpolace. M´ame tedy n + 1 bod˚u, kter´ymi mus´ı graf hledan´eho polynomu proch´azet. Tuto ´ulohu m˚uˇzeme ˇreˇsit jako soustavu line´arn´ıch rovnic, kdy bychom zjistili hodnoty koefi- cient˚u hledan´eho polynomu (pomoc´ı tzv. Vandermondovy matice). Nicm´enˇe tento zp˚usob ˇreˇsen´ı se pˇr´ıliˇs nevyuˇz´ıv´a a lze se mu vyhnout pomoc´ı Lagrangeova inter- polaˇcn´ıho polynomu.

Vˇeta 1.1.2. Lagrange˚uv interpolaˇcn´ı polynom lze vyj´adˇrit ve tvaru Ln(x) =

n

X

i=0

f (xi)gi(x), (1.1)

kde gi(x) = Q

j=0,j6=i x−xj

xi−xj.

Vˇeta 1.1.3. Necht’ f ∈ Cn+1(I), kde I je nejmenˇs´ı interval obsahuj´ıc´ı x0, x1, x2, . . . , xn−1, xn, x a x0, x1, x2, . . . , xn jsou navz´ajem r˚uzn´e uzly.

Pak ∀ x ∈ I ∃ ξ ∈ I, pro kter´e plat´ı:

f (x) − Ln(x) = f(n+1)(ξ)ωn+1(x)

(n + 1)! , (1.2)

kde ωn+1(x) = (x − x0)(x − x1) . . . (x − xn).

D˚ukaz. Pˇredpokl´adejme, ˇze xi = x. Potom

f (xi) − Ln(xi) = fn+1(ξ)ωn+1(xi)

(n + 1)!. (1.3)

Z vlastnosti interpolace plyne

f (xi) − Ln(xi) = 0. (1.4)

Pokud xi 6= x, potom definujme funkci

F (x) = f (x) − Ln(x) − tωn+1(x), (1.5) kde x ∈ I, t ∈ R.

(17)

Funkce F (x) m´a n + 1 nulov´ych bod˚u (uzlov´e body xi). Hled´ame takov´e t, aby byla splnˇena rovnost

F (x) = 0. (1.6)

To splˇnuje

t = f (x) − Ln(x)

ωn+1(x) . (1.7)

Funkce F m´a tedy n + 2 nulov´ych bod˚u. Z Rolleovy vˇety plyne, ˇze F0 m´a alespoˇn n + 1 nulov´ych bod˚u. F00 m´a alespoˇn n nulov´ych bod˚u. F(n+1) m´a alespoˇn jeden nulov´y bod ξ,

F(n+1)(ξ) = 0. (1.8)

Protoˇze L(n+1)n ≡ 0, dostaneme

F(n+1)(ξ) = f(n+1)(ξ) − 0 − t(n + 1)!. (1.9) Dosad´ıme za promˇennou t

0 = F(n+1)(ξ) = f(n+1)(ξ) −f (x) − Ln(x)

ωn+1(x) (n + 1)! (1.10) a vyj´adˇr´ıme v´yslednou chybu

f (x) − Ln(x) = f(n+1)(ξ)ωn+1(x)

(n + 1)! . (1.11)

V´ıce informac´ı nalezneme napˇr´ıklad v [1] nebo [2]

1.1.2 Newton˚ uv interpolaˇ cn´ı polynom

Tento polynom je pro n + 1 uzlov´ych bod˚u interpolaˇcn´ım polynomem stupnˇe nejv´yˇse n. Bude se tedy jednat o nov´y zp˚usob z´apisu Lagrangeova interpolaˇcn´ıho polynomu. Tento polynom budeme hledat ve tvaru

Nn(x) = a0+ a1(x − x0) + a2(x − x0)(x − x1) + . . . (1.12) + an(x − x0)(x − x1) . . . (x − xn−1).

Newton˚uv interpolaˇcn´ı polynom tedy mus´ı vyhovovat podm´ınce interpolace

Nn(xi) = f (xi), i = 0, 1, . . . , n. (1.13) Koeficienty ai, i = 0, . . . , n, vyj´adˇr´ıme pomoc´ı pomˇern´ych diferenc´ı.

Definice 1.1.2. Pomˇern´a diference nult´eho ˇr´adu je definov´ana:

f [xi] = f (xi), i = 0, . . . , n. (1.14)

(18)

Pomˇern´a diference prvn´ıho ˇr´adu je definov´ana:

f [xi, xi+1] = f [xi+1] − f [xi]

xi+1− xi , i = 0, . . . , n − 1. (1.15) Pomˇern´a diference k-t´eho ˇr´adu je definov´ana rekurentnˇe:

f [xi, xi+1, . . . , xi+k] = f [xi+1, . . . , xi+k] − f [xi, xi+1, . . . , xi+k−1]

xi+k− xi . (1.16)

Newton˚uv interpolaˇcn´ı polynom m˚uˇzeme zapsat pomoc´ı pomˇern´ych diferenc´ı:

Nn(x) = f [x0] + f [x0, x1](x − x0) + f [x0, x1, x2](x − x0)(x − x1) + . . .

+ . . . + f [x0, x1, . . . , xn](x − x0)(x − x1) . . . (x − xn−1). (1.17) Newtonova interpolace m´a oproti Lagrangeovˇe interpolaci podstatnou v´yhodu, kter´a spoˇc´ıv´a v tom, ˇze je v´ypoˇcetnˇe m´enˇe n´aroˇcn´e pˇridat dalˇs´ı bod s jeho funkˇcn´ı hodnotou, protoˇze nˇekter´e v´ypoˇcty z˚ustanou beze zmˇeny (napˇr´ıklad pˇredchoz´ı koe- ficienty ak se nezmˇen´ı). Bliˇzˇs´ı informace jsou k nalezen´ı napˇr´ıklad v [1].

1.2 Interpolace spline funkcemi

Pro intervaly vˇetˇs´ı d´elky je pouˇzit´ı interpolaˇcn´ıho polynomu n´ızk´eho stupnˇe mnohdy nepˇresn´e a pouˇzit´ı interpolaˇcn´ıho polynomu vyˇsˇs´ıch stupˇn˚u nevhodn´e vzhle- dem k vlastnosti, kdy interpolaˇcn´ı polynom na kraj´ıch interval˚u nepˇr´ıjemnˇe osciluje.

Vhodnˇejˇs´ı je vyuˇzit´ı interpolaˇcn´ıch spline funkc´ı, kter´e jsou po ˇc´astech polynomy.

Princip spline interpolace spoˇc´ıv´a v rozdˇelen´ı intervalu na podintervaly. Na kaˇzd´em z tˇechto podinterval˚u pot´e budeme konstruovat obecnˇe jin´y polynom.

Mezi nejˇcastˇeji vyuˇz´ıvan´e spliny patˇr´ı line´arn´ı a kubick´y [3].

1.2.1 Line´ arn´ı interpolaˇ cn´ı spline

Definice 1.2.1. (Line´arn´ı interpolaˇcn´ı spline) Line´arn´ım splinem naz´yv´ame funkci φ(x), kter´a je spojit´a na intervalu hx0, xni a na kaˇzd´em podintervalu hxi, xi+1i, i = 0, . . . , n − 1 je polynomem prvn´ıho stupnˇe.

Line´arn´ı interpolaˇcn´ı spline, kter´y proch´az´ı uzlov´ymi body, tj. φ(xi) = f (xi), na podintervalu hxi, xi+1i, i = 0, . . . , n−1 m˚uˇzeme zkonstruovat n´asleduj´ıc´ım zp˚usobem

φi(x) = f (xi) + f (xi+1) − f (xi)

hi (x − xi) , (1.18)

kde hi = xi+1− xi.

Grafem tohoto spline je lomen´a ˇc´ara. V´ıce informac´ı lze z´ıskat napˇr´ıklad v [4].

(19)

1.2.2 Kvadratick´ y interpolaˇ cn´ı spline

Definice 1.2.2. (Kvadratick´y interpolaˇcn´ı spline) Kvadratick´ym splinem naz´yv´ame funkci φ(x), kter´a je spojit´a na intervalu hx0,xni, pˇriˇcemˇz na kaˇzd´em podintervalu hxi, xi+1i, i = 0, . . . , n − 1, je polynomem druh´eho stupnˇe. Tyto polynomy na sebe v uzlov´ych bodech hladce navazuj´ı – maj´ı spojitou prvn´ı derivaci.

Kvadratick´y interpolaˇcn´ı spline proch´azej´ıc´ı uzlov´ymi body, tj. φ(xi) = f (xi), na podintervalu hxi, xi+1i, i = 0, . . . , n − 1, m˚uˇzeme zkonstruovat n´asleduj´ıc´ım zp˚usobem

φi(x) = di+1− di

2(xi+1− xi)(x − xi)2+ di(x − xi) + f (xi), (1.19) kde di+1 = 2f (xxi+1)−f (xi)

i+1−xi , i = 0, 1, . . . , n − 1.

Hodnoty di vych´azej´ı z podm´ınky prvn´ı spojit´e derivace ve vnitˇrn´ıch bodech kvadratick´eho splinu. Jednotliv´e spline na intervalech tedy ve v´ysledku tvoˇr´ı hladkou kˇrivku.

Jelikoˇz se budeme zab´yvat pˇrirozen´ym kvadratick´ym splinem, klademe d1 = 0.

V´ıce informac´ı t´ykaj´ıc´ı se konstrukce kvadratick´eho interpolaˇcn´ıho splinu m˚uˇzeme nal´ezt v [5].

1.2.3 Kubick´ y interpolaˇ cn´ı spline

Interpolace pomoc´ı kubick´ych splin˚u je nejˇcastˇeji vyuˇz´ıvanou spline interpolac´ı, protoˇze podle [3] se ukazuje, ˇze pr´avˇe tato po ˇc´astech polynomi´aln´ı interpolace do- sahuje nejlepˇs´ıch v´ysledk˚u.

Definice 1.2.3. Kubick´ym splinem nazveme funkci φ(x), kter´a m´a na intervalu hx0,xni dvˇe spojit´e derivace a na kaˇzd´em podintervalu hxi, xi+1i, i = 0, . . . , n − 1, je polynomem tˇret´ıho stupnˇe.

Konstrukce pˇrirozen´eho kubick´eho spline

Mˇejme v uzlov´ych bodech xi d´any funkˇcn´ı hodnoty f (xi), i = 0, . . . , n, funkce f . Naˇs´ım ´ukolem je sestrojit kubick´y interpolaˇcn´ı polynom, kter´y splˇnuje z´akladn´ı

´

ulohu interpolace.

Z definice kubick´eho polynomu φ(x) = ax3 + bx2 + cx + d plyne, ˇze kubick´y polynom je urˇcen ˇctyˇrmi koeficienty. M´ame-li n + 1 bod˚u, budeme m´ıt n interval˚u.

Z toho vypl´yv´a, ˇze φ(x) je na intervalu hx0, xni urˇcena 4n parametry. Podm´ınky spojitosti φ(x), φ0(x) a φ00(x) ve vnitˇrn´ıch bodech intervalu hx0, xni d´avaj´ı dalˇs´ıch 3n − 3 podm´ınek. Interpolaˇcn´ı podm´ınky n´am daj´ı n + 1 podm´ınek. Celkem tedy m´ame 4n − 2 podm´ınek pro 4n nezn´am´ych. Protoˇze konstruujeme pˇrirozen´y kubick´y spline, zbyl´e dvˇe podm´ınky dopln´ıme tak, ˇze poloˇz´ıme druh´e derivace v krajn´ıch bodech intervalu hx0, xni rovny nule.

Pokud budeme vych´azet z pˇredpokladu, ˇze φ(x) je kubick´y polynom, pak φ0(x) je kvadratick´y polynom a φ00(x) je line´arn´ı polynom, kter´y proch´az´ı body [xi, Mi]

(20)

a [xi+1, Mi+1], kde Mi = f00(xi) a Mi+1 = f00(xi+1) jsou tzv. momenty splinu. Jelikoˇz je pˇr´ımka jednoznaˇcnˇe urˇcena dvˇema body, m˚uˇzeme poloˇzit φ00(x) = L1(x) s nu- lovou chybou, a z´aroveˇn m˚uˇzeme odvodit vztahy pro v´ypoˇcet kubick´e interpolaˇcn´ı spline funkce:

φ00i(x) = L1(x) = f00(xi)x − xi+1

xi− xi+1 + f00(xi+1) x − xi

xi+1− xi (1.20)

= Mix − xi+1

−hi + Mi+1x − xi

hi = −Mix − xi+1

hi + Mi+1x − xi

hi , (1.21)

φ0i(x) = −Mi 2hi

(x − xi+1)2 +Mi+1 2hi

(x − xi)2+ Ai, (1.22)

φi(x) = −Mi

6hi (x − xi+1)3+Mi+1

6hi (x − xi)3+ Ai(x − xi) + Bi, (1.23) kde hi = xi+1− xi a Ai a Bi jsou integraˇcn´ı konstanty.

Nyn´ı urˇc´ıme integraˇcn´ı konstanty, pˇriˇcemˇz vyuˇzijeme skuteˇcnosti, ˇze funkce φi(x) mus´ı na intervalu hxi, xi+1i splˇnovat podm´ınky interpolace:

φi(xi) = f (xi) a φi(xi+1) = f (xi+1).

Dostaneme

φi(xi) = −Mi

6hi (xi − xi+1)3+Mi+1

6hi (xi− xi)3+ Ai(xi− xi) + Bi (1.24)

= −Mi

6hi (−hi)3 + Bi (1.25)

a m˚uˇzeme vyj´adˇrit

Bi = f (xi) −Mi

6 hi2

. (1.26)

Analogicky dostaneme φi(xi+1) = − Mi

6hi(xi+1− xi+1)3+ Mi+1

6hi (xi+1− xi)3+ Ai(xi+1− xi) + Bi (1.27)

= Mi+1 6hi

h3i + Aihi+ Bi (1.28)

= Mi+1

6 h2i + Aihi+ f (xi) −Mi 6 hi2

. (1.29)

Z tˇechto vztah˚u vyj´adˇr´ıme

Ai = f (xi+1) − f (xi) hi

+Mi− Mi+1

6 hi. (1.30)

Nyn´ı urˇc´ıme momenty splinu Mi. Protoˇze konstruujeme pˇrirozen´y kubick´y spline, tak M0 = Mn = 0. Momenty splinu urˇc´ıme pomoc´ı dalˇs´ı podm´ınky, kterou mus´ı

(21)

funkce φi(x) splˇnovat. Poˇzadujeme, aby derivace funkce φi(x) byla zleva i zprava spojit´a, tj. φ0i−1(xi) = φ0i(xi).

Jelikoˇz v´ıme, ˇze

φ0i(x) = −Mi

2hi(x − xi+1)2 +Mi+1

2hi (x − xi)2+ Ai. (1.31) Potom

φ0i−1(xi) = −Mi−1

2hi−1(xi− xi)2+ Mi

2hi−1(xi− xi−1)2+ Ai−1 (1.32)

= Mi 2hi−1

(hi−1)2+ Ai−1 (1.33)

= Mi

2hi−1(hi−1)2+f (xi) − f (xi−1)

hi−1 +Mi−1− Mi

6 hi−1 (1.34)

= Mi−1+ 2Mi

6 hi−1+f (xi) − f (xi−1)

hi−1 . (1.35)

Analogicky dostaneme φ0i(xi) = −Mi

2hi

(xi− xi+1)2+ Mi+1 2hi

(xi− xi)2+ Ai (1.36)

= −Mi

2hi(−hi)2+ Ai (1.37)

= −Mi

2 hi+ f (xi+1) − f (xi)

hi + Mi− Mi+1

6 hi (1.38)

= −Mi+1+ 2Mi

6 hi+f (xi+1) − f (xi)

hi . (1.39)

Nyn´ı m˚uˇzeme napsat n´asleduj´ıc´ı rovnost:

Mi−1+ 2Mi

6 hi−1+f (xi) − f (xi−1)

hi−1 = −Mi+1+ 2Mi

6 hi+f (xi+1) − f (xi)

hi , (1.40) Mi−1+ 2Mi

6 hi−1+Mi+1+ 2Mi

6 hi = f (xi+1) − f (xi)

hi −f (xi) − f (xi−1)

hi−1 . (1.41) Pˇri pˇredpokladu ekvidistantn´ıho dˇelen´ı intervalu plat´ı: hi−1= hi.

Mi−1+ 2Mi

6 hi+Mi+1+ 2Mi

6 hi = f (xi+1) − f (xi)

hi −f (xi) − f (xi−1)

hi ,(1.42) Mi−1+ 4Mi+ Mi+1

6 hi = f (xi+1) − 2f (xi) + f (xi−1)

hi . (1.43)

Pˇri praktick´em v´ypoˇctu interpolace pomoc´ı kubick´e spline funkce postupujeme v n´ıˇze naznaˇcen´ych kroc´ıch.

Nejdˇr´ıve vypoˇcteme pomoc´ı rovnic (1.41) momenty splinu Mi, i = 1, . . . , n − 1.

V praxi se pˇri v´ypoˇctu moment˚u splinu pˇri pˇredpokladu konstrukce pˇrirozen´eho

(22)

kubick´eho splinu vyuˇz´ıv´a Gaussova eliminace aplikovan´a na tˇr´ıdiagon´aln´ı matici pro ˇreˇsen´ı n − 1 rovnic o n − 1 nezn´am´ych.

Soustava m´a tvar

h0+h1

3 h1

. .. ...6 . ..

hi−1

6

hi−1+hi

3

hi+1

. .. . ..6 . ..

hn−2

6

hn−2+hn−1

3

 M1

... Mi−1

Mi Mi+1

... Mn−1

=

 g1

... gi−1

gi gi+1

... gn−1

, (1.44)

kde gi = f (xi+1h)−f (xi)

if (xi)−f (xh i−1)

i−1 .

Po v´ypoˇctu moment˚u splinu mus´ıme urˇcit integraˇcn´ı konstanty Ai, i = 1, . . . , n, a Bi, i = 1, . . . , n, podle vztah˚u (1.26) a (1.30).

V tuto chv´ıli jiˇz zn´ame vˇsechny nezn´am´e a m˚uˇzeme vypoˇc´ıtat kubick´e spliny na jednotliv´ych intervalech dosazen´ım do vztahu (1.23). Bliˇzˇs´ı informace lze nal´ezt ve [2] a [6].

1.3 Metoda nejmenˇ s´ıch ˇ ctverc˚ u

Metoda nejmenˇs´ıch ˇctverc˚u jiˇz nen´ı interpolaˇcn´ı metoda. Jej´ı princip m˚uˇzeme popsat tak, ˇze zadan´ymi body [xi, yi] pro i = 1, . . . , n prokl´ad´ame funkci φ tak, aby souˇcet druh´ych mocnin rozd´ılu hodnot yi a funkˇcn´ıch hodnot φ(xi) byl minim´aln´ı.

Odvozen´ı metody nejmenˇs´ıch ˇctverc˚u pro line´arn´ı regresi

Uvaˇzujme mnoˇzinu n bod˚u [xi, yi] pro i = 1, . . . , n. Vzd´alenost bod˚u od pˇr´ımky y = ax + b m˚uˇzeme vyj´adˇrit jednoduch´ym zp˚usobem si = |axi + b − yi|, kde i = 1, . . . , n.

Smyslem t´eto metody je minimalizovat funkci S(a, b) = Pn

i=1(axi + b − yi)2. Protoˇze je zn´amo, ˇze lok´aln´ı extr´em diferencovateln´e funkce m˚uˇze nastat pouze ve stacion´arn´ım bodˇe, vyuˇzijeme pro minimalizaci funkce S parci´aln´ı derivace

∂S

∂a = 2

n

X

i=1

(axi+ b − yi)xi = 2 a

n

X

i=1

x2i + b

n

X

i=1

xi

n

X

i=1

xiyi

!

, (1.45)

∂S

∂b = 2

n

X

i=1

(axi+ b − yi) = 2 a

n

X

i=1

xi+ b

n

X

i=1

1 −

n

X

i=1

yi

!

. (1.46)

Proto nyn´ı poloˇz´ıme tyto parci´aln´ı derivace rovny nule:

2 a

n

X

i=1

x2i + b

n

X

i=1

xi

n

X

i=1

xiyi

!

= 0, (1.47)

2 a

n

X

i=1

xi+ b

n

X

i=1

1 −

n

X

i=1

yi

!

= 0.

(23)

Tyto rovnice uprav´ıme jednoduch´ymi ´upravami na n´asleduj´ıc´ı tvar,

a

n

X

i=1

x2i + b

n

X

i=1

xi =

n

X

i=1

xiyi, (1.48)

a

n

X

i=1

xi+ bn =

n

X

i=1

yi.

ˇc´ımˇz z´ısk´ame soustavu rovnic s nezn´am´ymi a, b.

Pokud tedy chceme naj´ıt aproximaˇcn´ı polynom prvn´ıho ˇr´adu φ(x) = ax + b, mus´ıme zjistit hodnotu koeficient˚u a, b. Tyto koeficienty zjist´ıme vyˇreˇsen´ım sou- stavy (1.48).

Protoˇze vˇsechny hlavn´ı subdeterminanty matice jsou kladn´e, je kvadratick´a forma pozitivnˇe definitn´ı. Podle Sylvestrova krit´eria je tedy nalezen´y stacion´arn´ı bodem minima.

Pro aproximaci obecn´ym polynomem φ(x) = Pm

i=0bixi ˇreˇs´ıme n´asleduj´ıc´ı sou- stavu rovnic:

nb0+

n

X

i=1

xib1+

n

X

i=1

x2ib2 + . . . +

n

X

i=1

xmi bm =

n

X

i=1

yi, (1.49)

n

X

i=1

xib0+

n

X

i=1

x2ib1+ . . . +

n

X

i=1

xm+1i bm =

n

X

i=1

xiyi, ...

n

X

i=1

xmi b0+

n

X

i=1

xm+1i b1+ . . . +

n

X

i=1

x2mi bm =

n

X

i=1

xmi yi.

Dalˇs´ı informace lze nal´ezt v [7].

(24)

2 Numerick´ a derivace

Ve druh´e kapitole t´eto pr´ace se budeme zab´yvat metodami pro urˇcen´ı numerick´e derivace funkce f v bodˇe.

Definice 2.0.1. Funkce f m´a v bodˇe x0 derivaci, je-li definov´ana v okol´ı bodu x0 a existuje limita

h→0lim

f (x0+ h) − f (x0)

h . (2.1)

Tuto limitu naz´yv´ame derivac´ı funkce f v bodˇe x0 a znaˇc´ıme ji f0(x0).

Metody pro v´ypoˇcet numerick´e derivace v bodˇe vych´azej´ı pˇr´ımo z definice nebo napˇr´ıklad z myˇslenky nahrazen´ı funkce f v okol´ı bodu x0 interpolaˇcn´ım polynomem (funkci lze nahradit napˇr´ıklad i aproximac´ı z´ıskanou metodou nejmenˇs´ıch ˇctverc˚u, nebo ˇCebyˇsevov´ymi polynomy) [8].

2.1 Derivace pomoc´ı interpolace

V n´asleduj´ıc´ıch odstavc´ıch uk´aˇzeme, jak m˚uˇzeme odvodit vztahy pro v´ypoˇcet derivace funkce v bodˇe pomoc´ı interpolace.

Funkci f m˚uˇzeme aproximovat Lagrangeov´ym interpolaˇcn´ım polynomem f (x) = Ln(x) + 1

(n + 1)!f(n+1)(ξ)ωn+1(x), (2.2) f (x) =

n

X

i=0

f (xi)li(x) + 1

(n + 1)!f(n+1)(ξ)ωn+1(x). (2.3) Pro chybu Lagrangeovy interpolace plat´ı

f (x) − Ln(x) = 1

(n + 1)!f(n+1)(ξ)ω(x), (2.4) kde ωn+1(x) =

n

Q

i=0

(x − xi).

Zderivujeme-li ωn+1(x) podle promˇenn´e x, dostaneme ωn+10 (x) =

n

X

i=0 n

Y

j=0,j6=i

(x − xj). (2.5)

(25)

Nyn´ı provedeme derivaci funkce f f0(x) =

n

X

i=0

f (xi)li0(x) + 1

(n + 1)!f(n+1)(ξ)

n

Y

j=0,j6=i

(x − xj)

!

(2.6) a pro derivaci funkce f v bodˇe x0 tedy plat´ı

f0(x0) =

n

X

i=0

f (xi)li0(x0) + 1

(n + 1)!f(n+1)(ξ)

n

Y

j=1

(x0− xj)

!

. (2.7)

Podle vztahu (2.7) m˚uˇzeme tedy konstruovat vztahy pro v´ypoˇcet derivace funkce f (x) v bodˇe x0. Nyn´ı odvod´ıme vztah pro derivaci v bodˇe pomoc´ı interpolaˇcn´ıho polynomu prvn´ıho stupnˇe.

Funkci f nahrad´ıme v okol´ı bodu x0 interpolaˇcn´ım polynomem prvn´ıho stupnˇe.

Tento polynom pot´e zderivujeme podle promˇenn´e x.

Sestroj´ıme interpolaˇcn´ı polynom prvn´ıho stupnˇe pro body [xi, f (xi)] a [xi + h, f (xi + h)],

L1(x) = f (xi)x − (xi+ h)

xi− (xi+ h) + f (xi+ h) x − xi

(xi+ h) − xi (2.8)

= f (xi)x − (xi+ h)

−h + f (xi+ h)x − xi

h . (2.9)

Polynom L1(x) zderivujeme podle promˇenn´e x. Dostaneme L01(x) = 1

h(f (xi+ h) − f (xi)) (2.10) f0(x0) = f (x0+ h)–f (x0)

h − 1

2f(2)(ξ)h. (2.11)

Pokud stejn´ym zp˚usobem vyuˇzijeme pro urˇcen´ı prvn´ı derivace funkce f (x) v bodˇe x0 interpolaˇcn´ı polynom druh´eho ˇr´adu dost´av´ame

L02(x) = 1

2h(f (xi+ h) − f (xi− h)), (2.12) f0(x0) = f (x0+ h)–f (x0− h)

2h − 1

6f(3)(ξ)h2. (2.13) Jestliˇze L2 zderivujeme jeˇstˇe jednou dost´av´ame pˇredpis pro aproximaci druh´e derivace funkce f v bodˇe x0

f00(x0) = f (x0+ h) − 2f (x0) + f (x0− h)

h2 . (2.14)

Pˇri praktick´em v´ypoˇctu numerick´e derivace funkce f (x) v bodˇe x0, mus´ıme db´at na vliv zaokrouhlovac´ıch chyb, kter´e mohou m´ıt podstatnou mˇerou vliv na v´ysledek.

Jmenovatel´e uveden´ych vzorc˚u obsahuj´ı krok h, kter´y mus´ı b´yt jak´ymsi kompromi- sem mezi dostateˇcnˇe pˇresnou aproximac´ı, kter´a vyˇzaduje dostateˇcnˇe mal´y krok h, a zaokrouhlovac´ı chybou, kter´a se naopak pˇri mal´em h zvyˇsuje. Bliˇzˇs´ı informace v [3]

nebo [9].

(26)

2.2 Richardsonova extrapolace

Richardsonova extrapolace je technika, kter´a je v praxi hojnˇe vyuˇz´ıvan´a. Setk´ame se s n´ı napˇr´ıklad v numerick´e integraci v Rombergovˇe kvadratuˇre nebo napˇr´ıklad v Bulirsch-Stoerovu algoritmu, jenˇz se zab´yv´a ˇreˇsen´ım obyˇcejn´ych diferenci´aln´ıch rovnic. Jej´ı podstata vych´az´ı z pˇredpokladu, ˇze ze dvou pˇribliˇzn´ych v´ysledk˚u m˚uˇzeme pomoc´ı line´arn´ı kombinace vypoˇc´ıtat tˇret´ı, kter´y bude pˇresnˇejˇs´ı, pˇriˇcemˇz tato nov´a hodnota se nach´az´ı mimo interval, ohraniˇcen´y pˇredch´azej´ıc´ımi dvˇema hodnotami (proto hovoˇr´ıme o extrapolaci).

Odvozen´ı Richardsonovy extrapolace

Mˇejme funkci R a krok h. Pˇredpokl´adejme, ˇze funkci R je moˇzn´e vyj´adˇrit moc- ninnou ˇradou

R (h) = a0+ a1h + a2h2+ a3h3+ a4h4+ . . . . (2.15) Jestliˇze h < 1, pak je R(h) dobrou aproximac´ı ˇclenu a0. Lepˇs´ı aproximaci ovˇsem z´ısk´ame, kdyˇz urˇc´ıme hodnotu funkce R s krokem h2

R h 2



= a0+ a1h

2 + a2 h 2

2

+ a3 h 2

3

+ . . . .

| {z }

O(h2)

. (2.16)

Pomoc´ı vhodn´e line´arn´ı kombinace m˚uˇzeme vyj´adˇrit ˇclen a0 s chybou O(h2). Ve vyj´adˇren´ı (2.15) a (2.16) zanedb´ame dalˇs´ı ˇcleny rozvoje

R (h) − a0 = a1h + O h2 , (2.17)

R h 2



− a0 = a1h

2 + O h2 . (2.18)

Rovnici (2.17) odeˇcteme od dvojn´asobku rovnice (2.18) R2(h) = 2R h

2



− R (h) = a0+ a(2)2 (h)2+ a(2)3 (h)3+ . . . .

| {z }

O(h2)

. (2.19)

Pomoc´ı vhodn´e line´arn´ı kombinace vztah˚u, z nichˇz oba aproximuj´ı hodnotu funkce R s chybou O(h), jsme vyj´adˇrili vztah pro a0 s chybou O(h2).

Podle [13] plat´ı, ˇze |a(2)i | < |ai|. R2(h) je lepˇs´ı aproximace neˇz R(h) a pro mal´e h je i lepˇs´ı aproximac´ı neˇz R(h2).

Obecn´y vztah pro Richardsonovu extrapolaci m˚uˇzeme zapsat pomoc´ı n´asleduj´ıc´ı iteraˇcn´ı formule:

Rj+1(h) = Rj h 2



+ Rj h

2 − Rj(h)

2j− 1 , kde j = 1, 2, . . . . (2.20) V´ypoˇcet m˚uˇzeme uspoˇr´adat do n´asleduj´ıc´ı tabulky:

(27)

R(h)

R(h2) R2(h)

R(h4) R2(h2) R3(h)

R(h8) R2(h4) R3(h2) R4(h)

R(16h) R2(h8) R3(h4) R4(h2) R5(h) ... ... ... ... ... . ..

↑ ↑ ↑ ↑ ↑

O(h) O(h2) O(h3) O(h4) O(h5)

Tabulka 2.1: Richardsonova extrapolace

Pˇri v´ypoˇctu postupujeme po ˇr´adc´ıch, pˇriˇcemˇz prvek v prvn´ım sloupci vypoˇcteme pomoc´ı z´akladn´ı metody. Ostatn´ı prvky v ˇr´adku vypoˇcteme pomoc´ı vztahu (2.20).

V´ypoˇcet ukonˇc´ıme ve chv´ıli, kdy je rozd´ıl dvou diagon´aln´ıch prvk˚u tabulky menˇs´ı neˇz poˇzadovan´a pˇresnost. V´ıce napˇr´ıklad v [10], [11], [12] nebo [13].

(28)

3 Numerick´ a integrace funkc´ı

Ve dalˇs´ı kapitole se budeme zab´yvat numerickou integrac´ı.

Je-li funkce f (x) na intervalu ha, bi spojit´a a zn´ame jej´ı primitivn´ı funkci F (x), m˚uˇzeme hodnotu urˇcit´eho integr´alu Rb

a f (x)dx urˇcit pomoc´ı Newton - Leibnizova vztahu

Z b a

f (x)dx = F (b) − F (a). (3.1)

V praxi ovˇsem ˇcasto nem˚uˇzeme primitivn´ı funkci F (x) naj´ıt analyticky nebo je analytick´y v´ypoˇcet integr´alu pˇr´ıliˇs sloˇzit´y a pracn´y. V tuto chv´ıli vyuˇzijeme metody numerick´e kvadratury, kdy funkci f (x) obvykle nahrazujeme jednoduˇsˇs´ı aproximuj´ıc´ı funkc´ı φ(x)(nejˇcastˇeji polynomem), a hodnotu integr´alu f (x) poloˇz´ıme pˇribliˇznˇe hodnotˇe integr´alu φ(x) [14].

Definice 3.0.1. Vyj´adˇreme integr´al ve tvaru

I(f ) = Z b

a

f (x)dx ≈ Ih(f ) = Z b

a

φ(x)dx =

n

X

i=0

αif (xi) (3.2)

kde Ih(f ) = Pn

i=0αif (xi) se naz´yv´a kvadraturn´ı formule, αi jsou koeficienty kva- draturn´ı formule, kter´e nez´avis´ı na funkci f (x), xi jsou uzly kvadraturn´ı formule, pˇriˇcemˇz xi ∈ ha, bi. Chybu kvadraturn´ı formule Rn(f ) vyj´adˇr´ıme Rn(f ) = I(f ) − Ih(f ).

U kvadraturn´ıch formul´ı n´as zaj´ım´a, jakou pˇresnost dan´a kvadraturn´ı formule pˇri aproximaci urˇcit´eho integr´alu m´a. ˇRekneme, ˇze kvadraturn´ı formule je ˇr´adu n, kdyˇz integruje polynomy stupnˇe n s nulovou chybou a polynomy stupnˇe n + 1 integruje s nenulovou chybou [2]. To n´as vede k n´asleduj´ıc´ı definici.

Definice 3.0.2. ˇR´ad kvadraturn´ı formule Ih(f ) = Pn

i=0αif (xi) je maxim´aln´ı ˇc´ıslo m ∈ N ∪ {0} takov´e, ˇze Rb

ap(x)dx =Pn

i=0αip(xi), kde p(x) je polynom stupnˇe m.

3.1 Newton-Cotesovy vzorce

Velkou skupinou v oblasti numerick´e integrace funkc´ı pˇredstavuj´ı Newton-Cotesovy vzorce. Tyto kvadraturn´ı vzorce pˇredpokl´adaj´ı ekvidistantn´ı dˇelen´ı intervalu inte- grace.

(29)

Newton-Cotesovy vzorce lze rozdˇelit do dvou podskupin. Prvn´ı skupinu oznaˇcujeme jako otevˇren´e a druhou jako uzavˇren´e. Rozd´ıl mezi tˇemito skupinami spoˇc´ıv´a v pˇr´ıstupu ke krajn´ım bod˚um intervalu integrace. Uzavˇren´e vzorce tyto body povaˇzuj´ı za uzly kvadratury, otevˇren´e nikoli. Uzly kvadratury otevˇren´ych vzorc˚u jsou urˇceny symet- ricky podle stˇredu intervalu.

Newton-Cotesovy kvadraturn´ı vzorce aproximuj´ı hodnotu integr´alu pomoc´ı na- hrazen´ı funkce f (x) Lagrangeov´ym interpolaˇcn´ım polynomem Ln(x). V´ıce napˇr´ıklad v [2], [15].

Odvozen´ı Newton-Cotesov´ych vzorc˚u

Nyn´ı odvod´ıme obecn´y tvar Newton - Cotesov´ych vzorc˚u. Hodnotu integr´alu funkce f na intervalu ha, bi aproximujeme pomoc´ı Lagrangeova interpolaˇcn´ıho po- lynomu Ln(x).

Z b a

f (x)dx ≈ Z b

a

Ln(x)dx =

= Z b

a n

X

i=0

f (xi)

n

Y

j=0,j6=i

 x − xj xi− xj



| {z }

li(x)

dx =

n

X

i=0

f (xi) Z b

a

li(x)dx

| {z }

αi

, (3.3)

kde a = x0 < x1 < x2 < . . . < xn = b. Urˇc´ıme koeficienty αi. Poloˇzme h = b−an a x0 = a + 0h, x1 = a + h, . . . , xn= a + nh. (3.4) Nyn´ı provedeme substituci

x = a + th, dx = hdt . (3.5)

Pouˇzit´ım substituce doˇslo ke zmˇenˇe integraˇcn´ıch mez´ı t = x − a

h . (3.6)

Pokud za promˇennou x dosad´ıme doln´ı mez intervalu integrace dost´av´ame jako novou doln´ı mez nulovou hodnotu. Dosad´ıme-li do vztahu (3.6) za promˇennou x v´yraz b = a + nh, dost´av´ame pro novou horn´ı mez integr´alu hodnotu n:

αi = h Z n

0 n

Y

j=0,j6=i

 t − j i − j



dt . (3.7)

Z Newton - Cotesov´ych vzorc˚u lze pomˇernˇe jednoduˇse odvodit pravidla a jejich sloˇzen´e varianty pro v´ypoˇcet urˇcit´eho integr´alu.

Princip aproximace urˇcit´eho integr´alu pomoc´ı sloˇzen´ych vzorc˚u spoˇc´ıv´a v rozdˇelen´ı intervalu na jednotliv´e podintervaly. Pˇriˇcemˇz na kaˇzd´y z podinterval˚u pouˇzijeme jednoduch´e Newton - Cotesovy vzorce. Hodnotu integr´alu pot´e aproximujeme hod- notou, kterou vypoˇcteme jako souˇcet obsahu ploch na jednotliv´ych intervalech, ˇc´ımˇz dost´av´ame pˇresnˇejˇs´ı aproximaci dan´eho integr´alu.

(30)

ˇS´ıˇrku intervalu h urˇc´ıme jako h = b−am , kde m je poˇcet podinterval˚u. Dalˇs´ı infor- mace m˚uˇzeme nal´ezt v [2] nebo [16].

Vˇeta 3.1.1. Kvadraturn´ı formule z´ıskan´a integrac´ı interpolaˇcn´ıho polynomu pro uzlov´e body [xi, f (xi)] pro i = 0, . . . , n m´a stupeˇn pˇresnosti alespoˇn n.

D˚ukaz. Uvaˇzujme integr´al I(f ), kter´y aproximujeme Lagrangeov´ym interpolaˇcn´ım polynomem Ln stupnˇe n s chybou En(f )

I(f ) =

b

Z

a

Ln(x) + En(f )dx. (3.8)

Uprav´ıme pravou stranu rovnosti

I(f ) =

b

Z

a n

X

i=0

f (xi)li(x) + En(f )dx (3.9)

=

b

Z

a n

X

i=0

f (xi)li(x)dx +

b

Z

a

En(f )dx.

=

n

X

i=0

f (xi)

b

Z

a

li(x)dx +

b

Z

a

En(f )dx, kde

b

Z

a

li(x)dx = αi.

Nyn´ı vyj´adˇr´ıme chybu En(f )

I(f ) −

n

X

i=0

f (xii =

b

Z

a

En(f )dx. (3.10)

Pˇriˇcemˇz pro chybu Lagrangeovy interpolace plat´ı En(f ) = f(n+1)(ξ)ωn+1(x)

(n + 1)!. (3.11)

Nyn´ı m˚uˇzeme vidˇet, ˇze vyj´adˇren´ı chyby En(f ) obsahuje (n + 1)-n´ı derivac´ı funkce f . Z toho pˇr´ımo plyne, ˇze chyba interpolaˇcn´ı kvadraturn´ı formule bude nulov´a pro vˇsechny polynomy stupnˇe nejv´yˇse n a ˇr´ad pˇresnosti bude tedy alespoˇn n.

Pozdˇeji uk´aˇzeme, ˇze interpolaˇcn´ı kvadraturn´ı formule m´a ˇr´ad pˇresnosti pro n + 1 bod˚u nejv´yˇse 2n + 1. Dalˇs´ı informace v [17].

3.1.1 (Sloˇ zen´ e) obd´ eln´ıkov´ e pravidlo

Je nejjednoduˇsˇs´ım vzorcem pro kvadraturu a ˇrad´ıme jej mezi otevˇren´e Newton - Cotesovy vzorce. Jeho ˇr´ad pˇresnosti je jedna, ovˇsem je vhodn´e jej vyuˇz´ıt v pˇr´ıpadˇe,

(31)

kdy nem˚uˇzeme vypoˇc´ıst integr´al sloˇzitˇejˇs´ımi metodami z d˚uvodu nemoˇznosti urˇcen´ı funkˇcn´ı hodnoty na kraj´ıch integr´alu.

Princip tohoto pravidla spoˇc´ıv´a v urˇcen´ı funkˇcn´ı hodnoty stˇredu intervalu. Hod- nota urˇcit´eho integr´alu je tak aproximov´ana jako obsah obd´eln´ıku, kdy jedna strana je urˇcena ˇs´ıˇrkou intervalu a druh´a funkˇcn´ı hodnotou.Dostaneme

Z b a

f (x)dx ≈ hf a + b 2



. (3.12)

Pokud jsme ovˇsem schopni urˇcit funkˇcn´ı hodnoty i na kraj´ıch integraˇcn´ıch mez´ı, je vhodnˇejˇs´ı pouˇz´ıt d´ale popsan´e metody.

Pˇredpis pro aproximaci urˇcit´eho integr´alu pomoc´ı sloˇzen´eho obd´eln´ıkov´eho pra- vidla:

Z b a

f (x)dx ≈ h

m

X

i=1

f xi−1+ xi 2



, (3.13)

kde m je poˇcet podinterval˚u. Dalˇs´ı informace lze nal´ezt v [3].

3.1.2 (Sloˇ zen´ e) lichobˇ eˇ zn´ıkov´ e pravidlo

Jedn´a se o jednoduchou metodu s ˇr´adem pˇresnosti jedna, kter´a je snadno im- plementovateln´a pomoc´ı poˇc´ıtaˇce. Hodnota integr´alu je vypoˇctena jako obsah li- chobˇeˇzn´ıku, kdy funkci f nahrazujeme Lagrangeov´ym interpolaˇcn´ım polynomem prvn´ıho ˇr´adu. Pokud vyuˇzijeme sloˇzenou variantu tohoto pravidla je interval rozdˇelen na ˇc´asti a na kaˇzd´e t´eto ˇc´asti je zkonstruov´an lichobˇeˇzn´ık. Hodnota integr´alu je urˇcena jako souˇcet obsahu jednotliv´ych lichobˇeˇzn´ık˚u.

Pouˇzit´ım vztahu (3.3) odvod´ıme vztah pro lichobˇeˇzn´ıkov´e pravidlo. Urˇc´ıme ˇs´ıˇrku intervalu h = x1 − x0, kde a = x0 < x1 = b. Integr´al funkce f na intervalu ha, bi aproximujeme pomoc´ı Lagrangeova interpolaˇcn´ıho polynomu prvn´ıho stupnˇe

Z b a

f (x)dx ≈

1

X

i=0

αif (xi). (3.14)

Pro koeficienty αi dle vztahu (3.7) plat´ı αi = h

Z 1 0

n

Y

j=0,j6=i

 t − j i − j



dt, (3.15)

α0 = h Z 1

0

t − 1

0 − 1 dt = h Z 1

0

1 − tdt = h

 t − t2

2

1 0

= h

2, (3.16) α1 = h

Z 1 0

t − 0

1 − 0 dt = h Z 1

0

tdt = h t2 2

1 0

= h

2. (3.17)

T´ımto dost´av´ame vztah pro lichobˇeˇzn´ıkov´e pravidlo Z b

a

f (x)dx ≈ h

2[f (a) + f (b)] . (3.18)

References

Related documents

Zkoumanému podniku navrhujete změnu organizačního schématu společnosti na agilnější variantu v podobě společnosti orientované na projekty?. Myslíte, že tato změna bude

Hodnocen´ı navrhovan´ e vedouc´ım diplomov´ e pr´ ace: výborně Hodnocen´ı navrhovan´ e oponentem diplomov´ e pr´ ace: výborně.. Pr˚ ubˇ eh obhajoby diplomov´ e

V textu jsou d´ale uve- deny popisy vybran´ych data miningov´ych n´astroj˚u spolu s komerˇcn´ım n´astrojem IBM SPSS Modeler a s volnˇe dostupn´ym n´astrojem Knime, kter´e

Není u tohoto dílu větší odpor vzduchu oproti hladkému

Hodnocen´ı navrhovan´ e vedouc´ım diplomov´ e pr´ ace: velmi dobře Hodnocen´ı navrhovan´ e oponentem diplomov´ e pr´ ace: výborně minus.. Pr˚ ubˇ eh obhajoby diplomov´

Hodnocen´ı navrhovan´ e vedouc´ım diplomov´ e pr´ ace: výborně Hodnocen´ı navrhovan´ e oponentem diplomov´ e pr´ ace: výborně.. Pr˚ ubˇ eh obhajoby diplomov´ e

Martin Bílek, Ph.D.: Jaké maximální otáčky byly použity pro pohon vřetene?. -Z- Jaké napětí jste používal

Předseda komise (doc. Tomáš Kasper, Ph.D.) pověřil vedením komise členku komise (PhDr. Magda Nišponská, Ph.D.). Klasifikace: