80
Numerická matematika Banka řešených příkladů Radek Kučera, Pavel Ludvík, Zuzana Morávková Katedra matematiky a deskriptivní geometrie Vysoká škola báňská – Technická Univerzita Ostrava K M D G

Numerická matematika Banka resenych prikladu

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Numerická matematika Banka resenych prikladu

Numerická matematikaBanka řešených příkladů

Radek Kučera, Pavel Ludvík, Zuzana Morávková

Katedra matematiky a deskriptivní geometrieVysoká škola báňská – Technická Univerzita Ostrava

∮K M

D G

Page 2: Numerická matematika Banka resenych prikladu

ISBN 978-80-248-3894-6

Page 3: Numerická matematika Banka resenych prikladu

OBSAH

1 Řešení nelineárních rovnic 5

2 Soustavy lineárních rovnic: přímé metody 19

3 Soustavy lineárních rovnic: iterační metody 30

4 Interpolace a aproximace funkcí 41

5 Numerické integrování a derivování 59

6 Obyčejné diferenciální rovnice: počáteční úlohy 68

Literatura 79

3

Page 4: Numerická matematika Banka resenych prikladu

Předmluva

Studijní materiály tvořící tato skripta jsou určeny převážně pro studenty kombinované iprezenční formy fakulty strojní Vysoké školy báňské – Technické univerzity Ostrava na-vštěvující předmět Numerická matematika.

Naše skripta obsahují řešené příklady a jsou přirozený doplněk skript Radka Kučery Nu-merické metody, která jsou zaměřená na teoretický výklad základních partií numerické ma-tematiky.

Rádi bychom upozornili na webovou stránku http://mdg.vsb.cz/portal/nm, kde je u-místěn nejen tento text, ale také řada dalších souvisejících studijních materiálů.

Tento studijní text vznikl za finanční podpory projektu IRP-FRVŠ 158/2015 Inovace před-mětu Numerická matematika na Fakultě strojní Vysoké školy báňské - Technické univerzitě Ostravaa Katedry matematiky a deskriptivní geometrie VŠB-TUO.

Příjemně strávený čas s numerickou matematikou přeje kolektiv autorů.

4

Page 5: Numerická matematika Banka resenych prikladu

KAPITOLA

1

ŘEŠENÍ NELINEÁRNÍCH ROVNIC

Příklad 1.1: Metodou půlení intervalu určete všechny kořeny rovnice

x3 = ln(10− x)

s přesností ε = 10−3.

−2 −1 0 1 2 3 4−20

−10

0

10

20

30

40

50

60

70

f(x)=x3−ln(10−x)

Z grafu vidíme, že kořen (průsečík s osou x) leží v intervalu 〈1, 2〉. Vytabelujeme si na tomto

5

Page 6: Numerická matematika Banka resenych prikladu

KAPITOLA 1. ŘEŠENÍ NELINEÁRNÍCH ROVNIC

intervalu hodnotu funkcef (x) = x3 − ln(10− x)

a zjistíme, že znaménko funkčních hodnot se mění mezi 1.2 a 1.3. Funkce je spojitá na danémintervalu. Rovnice má jeden kořen na intervalu 〈1.2, 1.3〉.

x 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8

f (x) -1.1972 -0.8551 -0.4468 0.0337 0.5922 1.2349 1.9678 2.7967 3.7279

Počítáme kořen na intervalu 〈1.2, 1.3〉, tedy a0 = 1.2, b0 = 1.3.Spočítáme první aproximaci x1:

x1 =b0 + a0

2=

1.3 + 1.22

= 1.25.

Spočítáme funkční hodnoty funkce f (x) = x3 − ln(10− x) v bodech a0, x1, b0:

f (a0) = −0.446, f (x1) = −0.2159, f (b0) = 0.0337

a určíme interval 〈a1, b1〉:

f (a0) f (x1) 6< 0⇒ a1 = x0 = 1.25, b1 = b0 = 1.3.

Určíme chybu aproximace b0−a0

2 = 0.05 6< ε = 10−3. Ve výpočtu pokračujeme dál.Spočítáme další aproximaci

x2 =a1 + b1

2=

1.25 + 1.32

= 1.275

a určíme interval 〈a2, b2〉:

f (a1) = −0.2159, f (x2) = −0.0935, f (b1) = 0.0337,f (a1) f (x2) 6< 0⇒ a2 = x2 = 1.275 b2 = b1 = 1.3.

Určíme chybu aproximace b1−a1

2 = 0.025 6< ε = 10−3. Ve výpočtu pokračujeme dál.Spočítáme další aproximaci

x3 =a2 + b2

2=

1.275 + 1.32

= 1.2875

a určíme interval 〈a3, b3〉:

f (a2) = −0.0935, f (x3) = −0.0305, f (b2) = 0.0337,f (a2) · f (x3) 6< 0⇒ a3 = x3 = 1.2875, b3 = b2 = 1.3.

Určíme chybu aproximace b2−a2

2 = 0.0125 6< ε = 10−3. Ve výpočtu pokračujeme dál.Spočítáme další aproximaci

x4 =a3 + b3

2=

1.2875 + 1.32

= 1.2938

6

Page 7: Numerická matematika Banka resenych prikladu

KAPITOLA 1. ŘEŠENÍ NELINEÁRNÍCH ROVNIC

a určíme interval 〈a4, b4〉:

f (a3) = −0.0305, f (x3) = 0.0014, f (b3) = 0.0337,f (a3) f (x3) < 0⇒ a4 = a3 = 1.2875, b4 = x3 = 1.2938

Určíme chybu aproximace b3−a3

2 = 0.0062 6< ε = 10−3. Ve výpočtu pokračujeme dál.Spočítáme další aproximaci x4:

x4 =a4 + b4

2=

1.2875 + 1.29382

= 1.2906

Určíme interval 〈a5, b5〉:

f (a4) = −0.0305 f (x4) = −0.0146 f (b4) = 0.0014f (a4) · f (x4) 6< 0⇒ a5 = x4 = 1.2906, b5 = b4 = 1.2938

Určíme chybu aproximace b4−a4

2 = 0.0031 6< ε = 10−3. Ve výpočtu pokračujeme dál.Spočítáme další aproximaci x5:

x5 =a5 + b5

2=

1.2906 + 1.29382

= 1.2922

Určíme interval 〈a6, b6〉:

f (a5) = −0.0146 f (x5) = −0.0066 f (b5) = 0.0014f (a5) · f (x5) > 0⇒ a6 = x5 = 1.2906, b6 = b5 = 1.2938

Určíme chybu aproximace b4−a4

2 = 0.0016 6< ε = 10−3. Ve výpočtu pokračujeme dál.Spočítáme další aproximaci x4:

x6 =a6 + b6

2=

1.2922 + 1.29382

= 1.293

Určíme chybu aproximace b6−a6

2 = 0.0008 < ε = 10−3. Je dosaženo zadané přesnosti.Vše si zapíšeme do tabulky:

i ai f (ai) xi f (xi) bi f (bi) |bi − ai|/2

0 1.2 − 1.25 − 1.3 + 0.051 1.25 − 1.275 − 1.3 + 0.0252 1.275 − 1.2875 − 1.3 + 0.01253 1.2875 − 1.2938 + 1.3 + 0.00624 1.2875 − 1.2906 − 1.2938 + 0.00315 1.2906 − 1.2922 − 1.2938 + 0.00166 1.2922 − 1.2930 − 1.2938 + 0.0008

Kořen rovnice jex = 1.293± 0.001.

7

Page 8: Numerická matematika Banka resenych prikladu

KAPITOLA 1. ŘEŠENÍ NELINEÁRNÍCH ROVNIC

Příklad 1.2: Metodou půlení intervalu určete všechny kořeny rovnice:

x + sin(x)− 2 = 0

s přesností ε = 10−2.

−3 −2 −1 0 1 2 3−6

−5

−4

−3

−2

−1

0

1

2

f(x)=x+sin(x)−2

Z grafu vidíme, že kořen (průsečík s osou x) leží v intervalu 〈1, 2〉. Vytabelujeme si na tomtointervalu hodnotu funkce

f (x) = x + sin(x)− 2

a zjistíme, že znaménko funkčních hodnot se mění mezi 1.1 a 1.2. Funkce je spojitá na danémintervalu. Rovnice má jeden kořen na intervalu 〈1.1, 1.2〉.

x 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7

f (x) -0.1585 -0.0088 0.1320 0.2636 0.3854 0.4975 0.5996 0.6917

Počítáme kořen na intervalu 〈1.1, 1.2〉 a tedy a0 = 1.1, b0 = 1.2,.Spočítáme počáteční aproximaci x0:

x0 =b0 + a0

2=

1.2 + 1.12

= 1.15

Spočítáme funkční hodnoty funkce f (x) = x + sin(x)− 2 v bodech a0, x0, b0.

f (a0) = −0.0088 f (x0) = 0.0628 f (b0) = 0.1320

A určíme interval 〈a1, b1〉:

f (a0) · f (x0) < 0⇒ a1 = a0 = 1.1, b1 = x0 = 1.15

8

Page 9: Numerická matematika Banka resenych prikladu

KAPITOLA 1. ŘEŠENÍ NELINEÁRNÍCH ROVNIC

Spočítáme chybu aproximace b0−a02 = 0.05 6< ε = 10−2. Ve výpočtu pokračujeme dál.

Spočítáme další aproximaci x1:

x1 =a1 + b1

2=

1.1 + 1.152

= 1.125

Určíme interval 〈a2, b2〉:

f (a1) = −0.0088 f (x1) = 0.0273 f (b1) = 0.0628f (a1) · f (x1) < 0⇒ a2 = a1 = 1.1 b2 = x1 = 1.125

Spočítáme chybu aproximace b1−a12 = 0.025 6< ε = 10−2.

Spočítáme další aproximaci x2:

x2 =a2 + b2

2=

1.1 + 1.1252

= 1.1125

Určíme interval 〈a3, b3〉:

f (a2) = −0.0088 f (x2) = 0.0093 f (b2) = 0.0273f (a2) · f (x2) < 0⇒ a3 = a2 = 1.1, b3 = x2 = 1.1125

Spočítáme chybu aproximace b2−a22 = 0.0125 6< ε = 10−2.

Spočítáme další aproximaci x3:

x3 =a3 + b3

2=

1.1 + 1.11252

= 1.1063

Určíme interval 〈a4, b4〉:

f (a3) = −0.0088 f (x3) = 0.0003 f (b3) = 0.0093f (a3) · f (x3) < 0⇒ a4 = a3 = 1.1, b4 = x3 = 1.1063

Spočítáme chybu aproximace b3−a32 = 0.0062 < ε = 10−2. Je dosaženo zadané přesnosti.

Vše si zapíšeme do tabulky:

i ai f (ai) xi f (xi) bi f (bi) |bi − ai|/2

0 1.1 − 1.15 + 1.2 + 0.051 1.1 − 1.125 + 1.15 + 0.0252 1.1 − 1.1125 + 1.125 + 0.01253 1.1 − 1.1063 + 1.1125 + 0.0062

Kořen rovnice je:x = 1.11± 0.01.

9

Page 10: Numerická matematika Banka resenych prikladu

KAPITOLA 1. ŘEŠENÍ NELINEÁRNÍCH ROVNIC

Příklad 1.3: Newtonovou metodou určete všechny kořeny rovnice:

x3 = ln(10− x)

s přesností ε = 10−6.

−2 −1 0 1 2 3 4−20

−10

0

10

20

30

40

50

60

70

f(x)=x3−ln(10−x)

Z grafu vidíme, že kořen (průsečík s osou x) leží v intervalu 〈1, 2〉. Vytabelujeme si na tomtointervalu hodnotu funkce

f (x) = x3 − ln(10− x)

a zjistíme, že znaménko funkčních hodnot se mění mezi 1.2 a 1.3. Funkce je spojitá na danémintervalu. Rovnice má jeden kořen na intervalu 〈1.2, 1.3〉.

x 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8

f (x) -1.1972 -0.8551 -0.4468 0.0337 0.5922 1.2349 1.9678 2.7967 3.7279

Spocítáme první a druhou derivaci:

f (x) = x3 − ln(10− x), f ′(x) = 3 · x2 +1

10− x, f ′′(x) = 6 · x +

1(10− x)2 ,

Ověříme předpoklady metody:∣∣∣∣

f (a)f ′(a)

∣∣∣∣ =−0.44684.4336

= 0.1008 6< 0.1 = b− a

a vidíme, že podmínka není splněna. Musíme zmenšit interval, na kterém hledáme kořen.

10

Page 11: Numerická matematika Banka resenych prikladu

KAPITOLA 1. ŘEŠENÍ NELINEÁRNÍCH ROVNIC

1.1 1.15 1.2 1.25 1.3 1.35 1.4 1.45−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

f(x)=x3−ln(10−x)

Z grafu vidíme, ze kořen leží v intervalu 〈1.25, 1.3〉.A opět začneme ověřovat předpoklady metody, tentokrát na intervalu 〈1.25, 1.3〉:

∣∣∣∣f (a)f ′(a)

∣∣∣∣ =∣∣∣∣−0.21594.8018

∣∣∣∣ = 0.0450 < 0.05 = b− a

∣∣∣∣f (b)f ′(b)

∣∣∣∣ =∣∣∣∣0.03375.1849

∣∣∣∣ = 0.0065 < 0.05 = b− a

xi f ′(xi) f ′′(xi)

1.25 4.8018 7.51311.26 4.8772 7.57311.27 4.9532 7.63311.28 5.0299 7.69321.29 5.1071 7.75321.3 5.1849 7.8132

Z tabelace první a druhé derivace na intervalu 〈1.25, 1.3〉můžeme usoudit, že:

f ′(x) > 0 na 〈1.25, 1.3〉

f ′′(x) > 0 na 〈1.25, 1.3〉 .

Jsou tedy splněny předpoklady Newtonovy metody.Zvolíme počáteční aproximaci x0 = b = 1.3.Spočítáme další aproximaci x1:

x1 = x0 −f (x0)

f ′(x0)= 1.3− 0.03367697433946

5.18494252873563= 1.29350485098864

11

Page 12: Numerická matematika Banka resenych prikladu

KAPITOLA 1. ŘEŠENÍ NELINEÁRNÍCH ROVNIC

a chybu aproximace |x1 − x0| = 0.00649514901136 6< ε = 10−6. Ve výpočtu pokračujemedál.Spočítáme další aproximaci x2:

x2 = x1 −f (x1)

f ′(x1)= 1.29350485098864− 0.00016453367995

5.13432117883453= 1.29347280513989

a chybu aproximace |x2 − x1| = 0.00003204584875 6< ε = 10−6. Ve výpočtu pokračujemedál.Spočítáme další aproximaci x3:

x3 = x2 −f (x2)

f ′(x2)= 1.29347280513989− 0.00000000399178

5.13407205040059= 1.29347280436238

a chybu aproximace |x1− x0| = 0.00000000077751 = 7.7751 · 10−10 < ε = 10−6. Je dosaženozadané přesnosti.Vše si zapíšeme do tabulky:

i xi |xi − xi−1|0 1.3 —1 1.29350485098864 0.006495149011362 1.29347280513989 0.000032045848753 1.29347280436238 0.00000000077751

Kořen rovnice je:x = 1.293473± 10−6

Příklad 1.4: Newtonovou metodou určete všechny kořeny rovnice:

x− 4 cos2(x) = 0

s přesností ε = 10−8.

Nejprve separujeme kořeny rovnice. K tomu si nakreslíme graf funkce na intervalu 〈0, 5〉.Tento interval jsme zvolili proto, protože jsou na něm videt všechny kořeny rovnice.

12

Page 13: Numerická matematika Banka resenych prikladu

KAPITOLA 1. ŘEŠENÍ NELINEÁRNÍCH ROVNIC

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5−4

−3

−2

−1

0

1

2

3

4

5

f(x)=x−4cos2(x)

Z grafu vidíme, že naše rovnice má tři kořeny x1 ∈ 〈1, 2〉 , x2 ∈ 〈2, 3〉 , x3 ∈ 〈3, 4〉. Všechnytři kořeny aproximujeme Newtonovou metodou tak, jak jsme to už učinili v příkladu 1.3.Nejdříve se tedy budeme zabývat prvním kořenem x1. Nejdříve ho separujeme na menšíinterval o délce jední desetiny. Vytabelujeme si na intervalu 〈1, 2〉 hodnoty funkce f (x) =x− 4 cos2(x) a zjistíme, že náš kořen x1 leží v intervalu 〈1, 1.1〉.Spocítáme první a druhou derivaci:

f (x) = x− 4 cos2(x),f ′(x) = 1 + 8 sin(x) cos(x) = 1 + 4 sin(2x),f ′′(x) = 8 cos(2x)

Ověříme předpoklady metody na intervalu 〈1, 1.1〉:∣∣∣∣

f (a)f ′(a)

∣∣∣∣ =∣∣∣∣

1− 4 cos2(1)1 + 4 sin(2 · 1)

∣∣∣∣ = 0.04 < 0.1 = b− a

∣∣∣∣f (b)f ′(b)

∣∣∣∣ =∣∣∣∣1.1− 4 cos2(1.1)1 + 4 sin(2 · 1.1)

∣∣∣∣ = 0.07 < 0.1 = b− a

13

Page 14: Numerická matematika Banka resenych prikladu

KAPITOLA 1. ŘEŠENÍ NELINEÁRNÍCH ROVNIC

xi f ′(xi) f ′′(xi)

1.00 4.6371 -3.32911.01 4.6031 -3.47391.02 4.5677 -3.61741.03 4.5308 -3.75931.04 4.4925 -3.89981.05 4.4528 -4.03871.06 4.4117 -4.17601.07 4.36937 -4.31161.08 4.3255 -4.44551.09 4.2804 -4.57771.10 4.2339 -4.7080

Z tabelace první a druhé derivace na intervalu 〈1, 1.1〉můžeme usoudit, že:

f ′(x) > 0 na 〈1, 1.1〉

f ′′(x) < 0 na 〈1, 1.1〉 .

Jsou tedy splněny předpoklady Newtonovy metody, že první ani druhá derivace neměnína tomto intervalu znaménko.Zvolíme počáteční aproximaci x0 = a = 1.Spočítáme další aproximaci x1:

x1 = x0 −f (x0)

f ′(x0)= 1− 1− 4 cos2(1)

1 + 4 sin(2 · 1) = 1.0361655092

a chybu aproximace |x1 − x0| = 0.0361655092 6< ε = 10−8. Ve výpočtu pokračujeme dál.Spočítáme další aproximaci x2:

x2 = x1 −f (x1)

f ′(x1)= 1.0361655092− 1.0361655092− 4 cos2(1.0361655092)

1 + 4 sin(2 · 1.0361655092)= 1.0366737657

a chybu aproximace |x2 − x1| = 0.0005082565 6< ε = 10−8. Ve výpočtu pokračujeme dál.Spočítáme další aproximaci x3:

x3 = x2 −f (x2)

f ′(x2)= 1.0366737657− 1.0366737657− 4 cos2(1.0366737657)

1 + 4 sin(2 · 1.0366737657)= 1.03667387601395

a chybu aproximace |x3 − x2| = 0.0000001103 6< ε = 10−8. Ve výpočtu pokračujeme dál.Spočítáme další aproximaci x4:

x4 = x3 −f (x3)

f ′(x3)= 1.0366738760− 1.0366738760− 4 cos2(1.0366738760)

1 + 4 sin(2 · 1.0366738760)= 1.0366738760

a chybu aproximace |x4 − x3| = 0.00000000000001 < ε = 10−8. Je dosaženo žádané přes-nosti.Vše si zapíšeme do tabulky:

14

Page 15: Numerická matematika Banka resenych prikladu

KAPITOLA 1. ŘEŠENÍ NELINEÁRNÍCH ROVNIC

i xi |xi − xi−1|0 1 —1 1.03616550917501 0.036165509175012 1.03667376568303 0.000508256508023 1.03667387601395 0.000000110330924 1.03667387601396 0.00000000000001

Kořen rovnice je:x1 = 1.03667388± 10−8

Podobně to uděláme se zbývajícími kořeny. Tabelací funkce f (x) = x− 4 cos2(x) na inter-valech 〈2, 3〉 , 〈3, 4〉 zjistíme, že kořen x2 ∈ 〈2.4, 2.5〉 a kořen x3 ∈ 〈3.5, 3.6〉. Stejný postupjako výše provedeme nejdříve pro kořen x2.Ověříme předpoklady metody na intervalu 〈2.4, 2.5〉:

∣∣∣∣f (a)f ′(a)

∣∣∣∣ =∣∣∣∣2.4− 4 cos2(2.4)1 + 4 sin(2 · 2.4)

∣∣∣∣ = 0.08 < 0.1 = b− a

∣∣∣∣f (b)f ′(b)

∣∣∣∣ =∣∣∣∣

1− 4 cos2(1.1)1 + 4 sin(2 · 1.1)

∣∣∣∣ = 0.02 < 0.1 = b− a

xi f ′(xi) f ′′(xi)

2.40 -2.9846 0.69992.41 -2.9768 0.85922.42 -2.9674 1.01812.43 -2.9565 1.17662.44 -2.9439 1.33462.45 -2.9298 1.49202.46 -2.9141 1.64892.47 -2.8968 1.80522.48 -2.8780 1.96072.49 -2.8576 2.11542.50 -2.8356 2.2692

Z tabelace první a druhé derivace na intervalu 〈1, 1.1〉můžeme usoudit, že:

f ′(x) < 0 na 〈2.4, 2.5〉

f ′′(x) > 0 na 〈2.4, 2.5〉 .

Jsou tedy splněny předpoklady Newtonovy metody, že první ani druhá derivace neměnína tomto intervalu znaménko.Zvolíme počáteční aproximaci x0 = a = 2.4.Spočítáme další aproximaci x1:

x1 = x0 −f (x0)

f ′(x0)= 2.4− 2.4− 4 cos2(2.4)

1 + 4 sin(2 · 2.4)= 2.47538619175203

a chybu aproximace |x1 − x0| = 0.0753861918 6< ε = 10−8. Ve výpočtu pokračujeme dál.

15

Page 16: Numerická matematika Banka resenych prikladu

KAPITOLA 1. ŘEŠENÍ NELINEÁRNÍCH ROVNIC

Spočítáme další aproximaci x2:

x2 = x1 −f (x1)

f ′(x1)= 2.4753861918− 2.4753861918− 4 cos2(2.4753861918)

1 + 4 sin(2 · 2.4753861918)= 2.47646766323749

a chybu aproximace |x2 − x1| = 0.0010814715 6< ε = 10−8. Ve výpočtu pokračujeme dál.Spočítáme další aproximaci x3:

x3 = x2 −f (x2)

f ′(x2)= 2.4764676632− 2.4764676632− 4 cos2(2.4764676632)

1 + 4 sin(2 · 2.4764676632)= 2.4764680473

a chybu aproximace |x3 − x2| = 0.0000003840 6< ε = 10−8. Ve výpočtu pokračujeme dál.Spočítáme další aproximaci x4:

x4 = x3 −f (x3)

f ′(x3)= 2.4764680473− 2.4764680473− 4 cos2(2.4764680473)

1 + 4 sin(2 · 2.4764680473)= 2.4764680473

a chybu aproximace |x4 − x3| = 0.00000000000005 < ε = 10−8. Je dosaženo žádané přes-nosti.Vše si zapíšeme do tabulky:

i xi |xi − xi−1|0 2.4 —1 2.47538619175203 0.075386191752032 2.47646766323749 0.001081471485463 2.47646804730806 0.000000384070574 2.47646804730811 0.00000000000005

Kořen rovnice je:x2 = 2.47646805± 10−8

Nyní ještě provedeme stejný postup pro kořen x3.Ověříme předpoklady metody na intervalu 〈3.5, 3.6〉:

∣∣∣∣f (a)f ′(a)

∣∣∣∣ =∣∣∣∣3.5− 4 cos2(3.5)1 + 4 sin(2 · 3.5)

∣∣∣∣ = 0.002 < 0.1 = b− a

∣∣∣∣f (b)f ′(b)

∣∣∣∣ =∣∣∣∣3.6− 4 cos2(3.6)1 + 4 sin(2 · 3.6)

∣∣∣∣ = 0.09 < 0.1 = b− a

16

Page 17: Numerická matematika Banka resenych prikladu

KAPITOLA 1. ŘEŠENÍ NELINEÁRNÍCH ROVNIC

xi f ′(xi) f ′′(xi)

3.50 3.6279 6.03123.51 3.6877 5.92493.52 3.7464 5.81623.53 3.8040 5.70523.54 3.8605 5.59193.55 3.9158 5.47633.56 3.9700 5.35863.57 4.0230 5.23873.58 4.0748 5.11683.59 4.1253 4.99283.60 4.1746 4.8668

Z tabelace první a druhé derivace na intervalu 〈1, 1.1〉můžeme usoudit, že:

f ′(x) > 0 na 〈3.5, 3.6〉

f ′′(x) > 0 na 〈3.5, 3.6〉 .

Jsou tedy splněny předpoklady Newtonovy metody, že první ani druhá derivace neměnína tomto intervalu znaménko.Zvolíme počáteční aproximaci x0 = a = 3.6.Spočítáme další aproximaci x1:

x1 = x0 −f (x0)

f ′(x0)= 2.4− 3.6− 4 cos2(3.6)

1 + 4 sin(2 · 3.6)= 3.5081850213

a chybu aproximace |x1 − x0| = 0.0918149787 6< ε = 10−8. Ve výpočtu pokračujeme dál.Spočítáme další aproximaci x2:

x2 = x1 −f (x1)

f ′(x1)= 3.5081850213− 3.5081850213− 4 cos2(3.5081850213)

1 + 4 sin(2 · 3.5081850213)= 3.5021769636

a chybu aproximace |x2 − x1| = 0.0060080576 6< ε = 10−8. Ve výpočtu pokračujeme dál.Spočítáme další aproximaci x3:

x3 = x2 −f (x2)

f ′(x2)= 3.5021769636− 3.5021769636− 4 cos2(3.5021769636)

1 + 4 sin(2 · 3.5021769636)= 3.5021473919

a chybu aproximace |x3 − x2| = 0.0000295717 6< ε = 10−8. Ve výpočtu pokračujeme dál.Spočítáme další aproximaci x4:

x4 = x3 −f (x3)

f ′(x3)= 3.5021473919− 3.5021473919− 4 cos2(3.5021473919)

1 + 4 sin(2 · 3.5021473919)= 3.5021473912

a chybu aproximace |x4 − x3| = 0.0000000007 < ε = 10−8. Je dosaženo žádané přesnosti.Vše si zapíšeme do tabulky:

17

Page 18: Numerická matematika Banka resenych prikladu

KAPITOLA 1. ŘEŠENÍ NELINEÁRNÍCH ROVNIC

i xi |xi − xi−1|0 3.6 —1 3.50818502125718 0.091814978742822 3.50217696363258 0.006008057624613 3.50214739193511 0.000029571697464 3.50214739121355 0.00000000072156

Kořen rovnice je:x3 = 3.50214739± 10−8

Kořeny rovnice jsou:

x1 = 1.03667388± 10−8 x2 = 2.47646805± 10−8 x3 = 3.50214739± 10−8

18

Page 19: Numerická matematika Banka resenych prikladu

KAPITOLA

2

SOUSTAVY LINEÁRNÍCH ROVNIC:PŘÍMÉ METODY

Příklad 2.1: Je dána matice

A =

−1 −3 2−6 −19 10

3 9 −5

.

Vypočtěte LU-rozklad A = LU pomocí Gaussovy eliminační metody bez výběru hlav-ního prvku. Využijte nalezeného LU-rozkladu k určení řešení soustavy lineárních rovnicAx = b, kde b = (−9,−59, 28)>, inverzní matice A−1 a determinantu det A.

Gaussovou eliminační metodou dostáváme:−1 −3 2−6 −19 103 9 −5

←−

−6

+

←−−−−

3

+

−1 −3 20 −1 −20 0 1

←−

0

+

−1 −3 20 −1 −20 0 1

Matice U je výsledkem Gaussovy eliminační metody, matici L sestavíme z multiplikátorů(s opačnými znaménky), které jsme použili během eliminace:

L =

1 0 06 1 0−3 0 1

, U =

−1 −3 2

0 −1 −20 0 1

.

Při řešení Ax = b nejprve spočteme y z Ly = b a potom z Ux = y vypočítáme x:

y1 = −96y1 +y2 = −59−3y1 +y3 = 28

y =

−9−5

1

,

19

Page 20: Numerická matematika Banka resenych prikladu

KAPITOLA 2. SOUSTAVY LINEÁRNÍCH ROVNIC: PŘÍMÉ METODY

−x1 −3x2 +2x3 = −9−x2 −2x3 = −5

x3 = 1

x =

231

.

Inverzní matici vypočítáme tak, že řešíme soustavy Aai = ei, i = 1, 2, 3, kde ei jsou sloupcejednotkové matice I = (e1, e2, e3). Získané vektory ai jsou sloupci inverzní matice, tj. A−1 =(a1, a2, a3). Všechny tři soustavy budeme řešit současně, přičemž jejich řešení opět rozložímedo dvou kroků:

y1 = 1 0 06y1 +y2 = 0 1 0−3y1 +y3 = 0 0 1

Y =

1 0 0−6 1 0

3 0 1

,

−x1 −3x2 +2x3 = 1 0 0−x2 −2x3 = −6 1 0

x3 = 3 0 1

A−1 =

5 3 80 −1 −23 0 1

.

Determinant det A vypočítáme jako součin diagonálních prvků matic L a U:

det A = det L det U = (1 · 1 · 1) · ((−1) · (−1) · 1) = 1.

Příklad 2.2: Je dána matice

A =

−2 4 1

0 −3 2−6 18 0

.

Vypočtěte LU-rozklad A = LU pomocí Gaussovy eliminační metody bez výběru hlav-ního prvku. Využijte nalezeného LU-rozkladu k určení řešení soustavy lineárních rovnicAx = b, kde b = (19, 11, 42)>, inverzní matice A−1 a determinantu det A.

Gaussovou eliminační metodou dostáváme:−2 4 10 −3 2−6 18 0

←−

0

+

←−−−

−3

+

−2 4 10 −3 20 6 −3

←−

2

+

−2 4 10 −3 20 0 1

Matice U je výsledkem Gaussovy eliminační metody, matici L sestavíme z multiplikátorů(s opačnými znaménky), které jsme použili během eliminace:

L =

1 0 00 1 03 −2 1

, U =

−2 4 1

0 −3 20 0 1

.

Při řešení Ax = b nejprve spočteme y z Ly = b a potom z Ux = y vypočítáme x:

y1 = 19y2 = 11

3y1 −2y2 +y3 = 42

y =

19117

,

20

Page 21: Numerická matematika Banka resenych prikladu

KAPITOLA 2. SOUSTAVY LINEÁRNÍCH ROVNIC: PŘÍMÉ METODY

−2x1 +4x2 +x3 = 19−3x2 +2x3 = 11

x3 = 7

x =

−4

17

.

Inverzní matici vypočítáme tak, že řešíme soustavy Aai = ei, i = 1, 2, 3, kde ei jsou sloupcejednotkové matice I = (e1, e2, e3). Získané vektory ai jsou sloupci inverzní matice, tj. A−1 =(a1, a2, a3). Všechny tři soustavy budeme řešit současně, přičemž jejich řešení opět rozložímedo dvou kroků:

y1 = 1 0 0y2 = 0 1 0

3y1 −2y2 +y3 = 0 0 1

Y =

1 0 00 1 0−3 2 1

,

−2x1 +4x2 +x3 = 1 0 0−3x2 +2x3 = 0 1 0

x3 = −3 2 1

A−1 =

−6 3 11

6

−2 1 23

−3 2 1

.

Determinant det A vypočítáme jako součin diagonálních prvků matic L a U:

det A = det L det U = (1 · 1 · 1) · ((−2) · (−3) · 1) = 6.

Příklad 2.3: Je dána matice

A =

6 0 3−18 2 −5−4 −1 −6

.

Vypočtěte LU-rozklad A = LU pomocí Gaussovy eliminační metody bez výběru hlav-ního prvku. Využijte nalezeného LU-rozkladu k určení řešení soustavy lineárních rovnicAx = b, kde b = (0, 8,−8)>, inverzní matice A−1 a determinantu det A.

Gaussovou eliminační metodou dostáváme:

6 0 3−18 2 −5−4 −1 −6

←−

3

+

←−−−

46=

23

+

6 0 30 2 40 −1 −4

←−

12

+

6 0 30 2 40 0 −2

Matice U je výsledkem Gaussovy eliminační metody, matici L sestavíme z multiplikátorů(s opačnými znaménky), které jsme použili během eliminace:

L =

1 0 0−3 1 0−2

3 −12 1

, U =

6 0 30 2 40 0 −2

.

Nezapomínejte, že při výpočtu matice L Gaussovou eliminační metodou nesmíte měnitpořadí řádků, ani násobit řádky konstantou. Není proto možné vyhnout se práci se zlomky.V dalších úlohách se seznámite s LU-rozkladem s permutační maticí, který můžete použítv případech, kdy je prohození řádků nutné.

21

Page 22: Numerická matematika Banka resenych prikladu

KAPITOLA 2. SOUSTAVY LINEÁRNÍCH ROVNIC: PŘÍMÉ METODY

Při řešení Ax = b nejprve spočteme y z Ly = b a potom z Ux = y vypočítáme x:

y1 = 0−3y1 +y2 = −8−2

3 y1 −12 y2 +y3 = 8

y =

0−8

4

,

6x1 +3x3 = 0+2x2 +4x3 = −8

−2x3 = 4

x =

10−2

.

Inverzní matici vypočítáme tak, že řešíme soustavy Aai = ei, i = 1, 2, 3, kde ei jsou sloupcejednotkové matice I = (e1, e2, e3). Získané vektory ai jsou sloupci inverzní matice, tj. A−1 =(a1, a2, a3). Všechny tři soustavy budeme řešit současně, přičemž jejich řešení opět rozložímedo dvou kroků:

y1 = 1 0 0−3y1 +y2 = 0 1 0−2

3 y1 −12 y2 +y3 = 0 0 1

Y =

1 0 03 1 0

136

12 1

,

6x1 +3x3 = 1 0 0+2x2 +4x3 = −6 1 0

−2x3 = 3 0 1

A−1 =

1724

18

14

113 1 1

−1312 −

14 −

12

.

Determinant det A vypočítáme jako součin diagonálních prvků matic L a U:

det A = det L det U = (1 · 1 · 1) · (6 · 2 · (−2)) = −24.

Příklad 2.4: Je dána matice

A =

−2 −4 2 0−2 −6 6 −2

0 1 3 6−1 0 0 2

.

Vypočtěte LU-rozklad A = LU pomocí Gaussovy eliminační metody bez výběru hlav-ního prvku. Využijte nalezeného LU-rozkladu k určení řešení soustavy lineárních rovnicAx = b, kde b = (−4,−22, 29, 13)>, inverzní matice A−1 a determinantu det A.

Práce s čtvercovou maticí se čtyřmi řádky je o něco náročnější než v případě matic s menšímirozměry, postup je nicméně totožný. Gaussovou eliminační metodou dostáváme:

−2 −4 2 0−2 −6 6 −20 1 −7 −4−1 0 0 2

←−−1

+

←−−−−

0

+

←−−−−−−

− 12

+

−2 −4 2 00 −2 4 −20 1 −7 −40 2 −1 2

←−

12

+

←−−−

1

+

−2 −4 2 00 −2 4 −20 0 5 50 0 3 0

←−− 3

5

+

−2 −4 2 00 −2 4 −20 0 5 50 0 0 −3

22

Page 23: Numerická matematika Banka resenych prikladu

KAPITOLA 2. SOUSTAVY LINEÁRNÍCH ROVNIC: PŘÍMÉ METODY

Matice U je výsledkem Gaussovy eliminační metody, matici L sestavíme z multiplikátorů(s opačnými znaménky), které jsme použili během eliminace:

L =

1 0 0 01 1 0 00 −1

2 1 012 −1 3

5 1

, U =

−2 −4 2 00 −2 4 −20 0 5 50 0 0 −3

.

Opět mějte stále na paměti, že tento algoritmus hledání LU-rozkladu zapovídá prohazovánířádků a násobení řádků konstantou.Při řešení Ax = b nejprve spočteme y z Ly = b a potom z Ux = y vypočítáme x:

y1 = −4y1 +y2 = −22−1

2 y2 +y3 = 2912 y1 −y2 +3

5 y3 +y4 = 13

y =

−4−18

20−15

,

−2x1 −4x2 +2x3 = −4−2x2 +4x3 −2x4 = −18

+5x3 +5x4 = 20−3x4 = −15

x =

−32−1

5

.

Inverzní matici vypočítáme tak, že řešíme soustavy Aai = ei, i = 1, 2, 3, 4, kde ei jsousloupce jednotkové matice I = (e1, e2, e3, e4). Získané vektory ai jsou sloupci inverznímatice, tj. A−1 = (a1, a2, a3, a4). Všechny čtyři soustavy budeme řešit současně, přičemžjejich řešení opět rozložíme do dvou kroků:

y1 = 1 0 0 0y1 +y2 = 0 1 0 0−1

2 y2 +y3 = 0 0 1 012 y1 −y2 +3

5 y3 +y4 = 0 0 0 1

Y =

1 0 0 0−1 1 0 0

−12

12 1 0

−65

710 −

35 1

,

−2x1 −4x2 +2x3 = 1 0 0 0−2x2 +4x3 −2x4 = −1 1 0 0

+5x3 +5x4 = −12

12 1 0

−3x4 = −65

710 −

35 1

A−1 =

7 −8 −172 −7

2

−83

133

133

53

13 −

23 −2

3 −13

0 −2 −32 −

12

.

Determinant det A vypočítáme jako součin diagonálních prvků matic L a U:

det A = det L det U = (1 · 1 · 1 · 1) · ((−2) · (−2) · 5 · (−3)) = −60.

Příklad 2.5: Je dána matice

A =

4 −3 0 3−8 5 0 −412 −7 −1 88 −3 −1 1

.

Vypočtěte LU-rozklad A = LU pomocí Gaussovy eliminační metody bez výběru hlav-ního prvku. Využijte nalezeného LU-rozkladu k určení řešení soustavy lineárních rovnic

23

Page 24: Numerická matematika Banka resenych prikladu

KAPITOLA 2. SOUSTAVY LINEÁRNÍCH ROVNIC: PŘÍMÉ METODY

Ax = b, kde b = (−16, 31,−52,−33)>, inverzní matice A−1 a determinantu det A.

Gaussovou eliminační metodou dostáváme:

4 −3 0 3−8 5 0 −412 −7 −1 88 −3 −1 1

←−

2

+

←−−−

−3

+

←−−−−−−

−2

+

4 −3 0 30 −1 0 20 2 −1 −10 3 −1 −5

←−

2

+

←−−−

3

+

4 −3 0 30 −1 0 20 0 −1 30 0 −1 1

←−−1

+

4 −3 0 30 −1 0 20 0 −1 30 0 0 −2

Matice U je výsledkem Gaussovy eliminační metody, matici L sestavíme z multiplikátorů(s opačnými znaménky), které jsme použili během eliminace:

L =

1 0 0 0−2 1 0 0

3 −2 1 02 −3 1 1

, U =

4 −3 0 30 −1 0 20 0 −1 30 0 0 −2

.

Při řešení Ax = b nejprve spočteme y z Ly = b a potom z Ux = y vypočítáme x:

y1 = −16−2y1 +y2 = 31

3y1 −2y2 +y3 = −522y1 −3y2 +y3 +y4 = −33

y =

−16−1−6

2

,

4x1 −3x2 +3x4 = −16−x2 +2x4 = −1

−x3 +3x4 = −6−2x4 = 2

x =

−4−1

3−1

.

Inverzní matici vypočítáme tak, že řešíme soustavy Aai = ei, i = 1, 2, 3, 4, kde ei jsousloupce jednotkové matice I = (e1, e2, e3, e4). Získané vektory ai jsou sloupci inverznímatice, tj. A−1 = (a1, a2, a3, a4). Všechny čtyři soustavy budeme řešit současně, přičemžjejich řešení opět rozložíme do dvou kroků:

y1 = 1 0 0 0−2y1 +y2 = 0 1 0 0

3y1 −2y2 +y3 = 0 0 1 02y1 −3y2 +y3 +y4 = 0 0 0 1

Y =

1 0 0 02 1 0 01 2 1 03 1 −1 1

,

4x1 −3x2 +3x4 = 1 0 0 0−x2 +2x4 = 2 1 0 0

−x3 +3x4 = 1 2 1 0−2x4 = 3 1 −1 1

A−1 =

−198 −9

838 −

38

−5 −2 1 −1

−112 −7

212 −

32

−32 −

12

12 −

12

.

Determinant det A vypočítáme jako součin diagonálních prvků matic L a U:

det A = det L det U = (1 · 1 · 1 · 1) · (4 · (−1) · (−1) · (−2)) = −8.

24

Page 25: Numerická matematika Banka resenych prikladu

KAPITOLA 2. SOUSTAVY LINEÁRNÍCH ROVNIC: PŘÍMÉ METODY

Příklad 2.6: Je dána matice

A =

−4 3 1 −3−12 10 4 −11−12 11 6 −16

8 −3 0 0

.

Vypočtěte LU-rozklad A = LU pomocí Gaussovy eliminační metody bez výběru hlav-ního prvku. Využijte nalezeného LU-rozkladu k určení řešení soustavy lineárních rovnicAx = b, kde b = (5, 11, 1,−19)>, inverzní matice A−1 a determinantu det A.

Gaussovou eliminační metodou dostáváme:

−4 3 1 −3−12 10 4 −11−12 11 6 −16

8 −3 0 0

←−−3

+

←−−−−

−3

+

←−−−−−−−

2

+

−4 3 1 −30 1 1 −20 2 3 −70 3 2 −6

←−

−2

+

←−−−−

−3

+

−4 3 1 −30 1 1 −20 0 1 −30 0 −1 0

←−

1

+

−4 3 1 −30 1 1 −20 0 1 −30 0 0 −3

Matice U je výsledkem Gaussovy eliminační metody, matici L sestavíme z multiplikátorů(s opačnými znaménky), které jsme použili během eliminace:

L =

1 0 0 03 1 0 03 2 1 0−2 3 −1 1

, U =

−4 3 1 −30 1 1 −20 0 1 −30 0 0 −3

.

Při řešení Ax = b nejprve spočteme y z Ly = b a potom z Ux = y vypočítáme x:

y1 = 53y1 +y2 = 113y1 +2y2 +y3 = 1−2y1 +3y2 −y3 +y4 = −19

y =

5−4−6−3

,

−4x1 +3x2 +x3 −3x4 = 5x2 +x3 −2x4 = −4

x3 −3x4 = −6−3x4 = −3

x =

−21−3

1

.

Inverzní matici vypočítáme tak, že řešíme soustavy Aai = ei, i = 1, 2, 3, 4, kde ei jsousloupce jednotkové matice I = (e1, e2, e3, e4). Získané vektory ai jsou sloupci inverznímatice, tj. A−1 = (a1, a2, a3, a4). Všechny čtyři soustavy budeme řešit současně, přičemžjejich řešení opět rozložíme do dvou kroků:

y1 = 1 0 0 03y1 +y2 = 0 1 0 03y1 +2y2 +y3 = 0 0 1 0−2y1 +3y2 −y3 +y4 = 0 0 0 1

Y =

1 0 0 0−3 1 0 0

3 −2 1 014 −5 1 1

,

25

Page 26: Numerická matematika Banka resenych prikladu

KAPITOLA 2. SOUSTAVY LINEÁRNÍCH ROVNIC: PŘÍMÉ METODY

−4x1 +3x2 +x3 −3x4 = 1 0 0 0x2 +x3 −2x4 = −3 1 0 0

x3 −3x4 = 3 −2 1 0−3x4 = 14 −5 1 1

A−1 =

−12

12 −

14

14

−43

43 −

23

13

−11 3 0 −1−14

353 −

13 −

13

.

Determinant det A vypočítáme jako součin diagonálních prvků matic L a U:

det A = det L det U = (1 · 1 · 1 · 1) · ((−4) · 1 · 1 · (−3)) = 12.

Příklad 2.7: Je dána matice

A =

1 −1 7−2 2 8−1 5 3

.

Vypočtěte LU-rozklad s permutační maticí, tj. rozklad PA = LU, pomocí Gaussovyeliminační metody s výběrem hlavního prvku.

Při výpočtu LU-rozkladu s permutační maticí budeme postupovat takto:

• vytvoříme pomocné matice U = A, P = I a L = I (= jednotková matice);• v matici U provádíme dopředný chod Gaussovy eliminační metody s výběrem hlav-

ního prvku;• v matici P přehazujeme řádky stejně jako v matici U;• do matice L zapíšeme v každé fázi multiplikátory (s opačnými znaménky) a při pře-

hození řádků v U přehodíme v L řádky i sloupce;• nakonec dostáváme P = P, L = L a U = U.

Výpočet tedy zahájíme tím, že definujeme pomocné matice U, P a L.

U =

1 −1 7−2 2 8−1 5 3

←−←− , P =

1 0 00 1 00 0 1

←−←− , L =

y y1 0 00 1 00 0 1

←−←− .

Po výběru hlavního prvku v první fázi (tj. v absolutní hodnoty největšího prvku v prvnímsloupci):

U =

−2 2 81 −1 7−1 5 3

←−

12

+

←−−−

− 12

+

, P =

0 1 01 0 00 0 1

, L =

1 0 00 1 00 0 1

.

Po eliminaci v první fázi s multiplikátory m21 = 12 a m31 = −1

2 :

U =

−2 2 80 0 110 4 −1

←−←−

, P =

0 1 01 0 00 0 1

←−←−

, L =

y y1 0 0−1

2 1 012 0 1

←−←−

.

26

Page 27: Numerická matematika Banka resenych prikladu

KAPITOLA 2. SOUSTAVY LINEÁRNÍCH ROVNIC: PŘÍMÉ METODY

Po výběru hlavního prvku ve druhé fázi (bez prohození druhého a třetího řádku bychom veliminaci vůbec nemohli pokračovat!):

U =

−2 2 80 4 −10 0 11

←−

0

+

, P =

0 1 00 0 11 0 0

, L =

1 0 012 1 0−1

2 0 1

.

Eliminace ve druhé fázi je multiplikátorem m32 = 0, čili veskrze symbolická:

U =

−2 2 80 4 −10 0 11

, P =

0 1 00 0 11 0 0

, L =

1 0 012 1 0−1

2 0 1

.

Výsledkem jsou maticeP = P, L = L, U = U.

Můžete si vyzkoušet, že skutečně platí PA = LU.

Poznámka. Mohli byste považovat za nevýhodu, že získaný tvar ve skutečnosti není roz-kladem matice A. Ten byste dostali jeho vynásobením obou stran rovnosti zleva maticí P−1.Výpočet inverzní matice k permutační matici je naštěstí velice snadný, platí totiž P−1 = P>.Matici A proto můžeme rozložit na součin takto: A = P−1LU = P>LU, neboli

1 −1 7−2 2 8−1 5 3

=

0 0 11 0 00 1 0

·

1 0 012 1 0−1

2 0 1

·

−2 2 80 4 −10 0 11

.

Příklad 2.8: Je dána matice

A =

2 −1 −8 −2−1 3 −9 6−3 −1 6 31 −6 3 3

.

Vypočtěte LU-rozklad s permutační maticí, tj. rozklad PA = LU, pomocí Gaussovyeliminační metody s výběrem hlavního prvku.

Při výpočtu LU-rozkladu s permutační maticí budeme postupovat takto:

• vytvoříme pomocné matice U = A, P = I a L = I (= jednotková matice);• v matici U provádíme dopředný chod Gaussovy eliminační metody s výběrem hlav-

ního prvku;• v matici P přehazujeme řádky stejně jako v matici U;• do matice L zapíšeme v každé fázi multiplikátory (s opačnými znaménky) a při pře-

hození řádků v U přehodíme v L řádky i sloupce;• nakonec dostáváme P = P, L = L a U = U.

27

Page 28: Numerická matematika Banka resenych prikladu

KAPITOLA 2. SOUSTAVY LINEÁRNÍCH ROVNIC: PŘÍMÉ METODY

Výpočet tedy zahájíme tím, že definujeme pomocné matice U, P a L.

U =

2 −1 −8 −2−1 3 −9 6−3 −1 6 31 −6 3 3

←−

←− , P =

1 0 0 00 1 0 00 0 1 00 0 0 1

←−

←− , L =

y y1 0 0 00 1 0 00 0 1 00 0 0 1

←−

←− .

Po výběru hlavního prvku v první fázi (tj. v absolutní hodnoty největšího prvku v prvnímsloupci):

U =

−3 −1 6 3−1 3 −9 62 −1 −8 −21 −6 3 3

←−− 1

3

+

←−−−−

23

+

←−−−−−−

13

+

, P =

0 0 1 00 1 0 01 0 0 00 0 0 1

, L =

1 0 0 00 1 0 00 0 1 00 0 0 1

.

Po eliminaci v první fázi s multiplikátory m21 = −13 , m31 = 2

3 a m41 = 13 :

U =

−3 −1 6 30 10

3 −11 50 −5

3 −4 00 −19

3 5 4

←−

←−

, P =

0 0 1 00 1 0 01 0 0 00 0 0 1

←−

←−

, L =

y y1 0 0 013 1 0 0−2

3 0 1 0−1

3 0 0 1

←−

←−

.

Po výběru hlavního prvku ve druhé fázi (toho docílíme prohozením druhého a čtvrtéhořádku):

U =

−3 −1 6 30 −19

3 5 40 −5

3 −4 0

0 103 −11 5

←−

− 519

+

←−−−−

1019

+

, P =

0 0 1 00 0 0 11 0 0 00 1 0 0

, L =

1 0 0 0−1

3 1 0 0−2

3 0 1 013 0 0 1

.

Při eliminaci ve druhé fázi jsme použili multiplikátory m32 = − 519 a m32 = 10

19 :

U =

−3 −1 6 30 −19

3 5 40 0 −101

19 −2019

0 0 −15919

13519

←−←−

, P =

0 0 1 00 0 0 11 0 0 00 1 0 0

←−←−

, L =

y y1 0 0 0−1

3 1 0 0−2

3519 1 0

13 −10

19 0 1

←−←−

.

Po výběru hlavního prvku ve třetím kroku (prohozením třetího a čtvrtého řádku):

U =

−3 −1 6 30 −19

3 5 4

0 0 −15919

13519

0 0 −10119 −20

19

←−− 101

159

+

, P =

0 0 1 00 0 0 10 1 0 01 0 0 0

, L =

1 0 0 0−1

3 1 0 013 −10

19 1 0−2

35

19 0 1

.

Nakonec provedeme eliminaci koeficientem m43 = −101159 :

28

Page 29: Numerická matematika Banka resenych prikladu

KAPITOLA 2. SOUSTAVY LINEÁRNÍCH ROVNIC: PŘÍMÉ METODY

U =

−3 −1 6 30 −19

3 5 40 0 −159

1913519

0 0 0 −25953

, P =

0 0 1 00 0 0 10 1 0 01 0 0 0

, L =

1 0 0 0−1

3 1 0 013 −10

19 1 0

−23

519

101159 1

.

Výsledkem jsou maticeP = P, L = L, U = U.

Můžete si vyzkoušet, že skutečně platí PA = LU.

29

Page 30: Numerická matematika Banka resenych prikladu

KAPITOLA

3

SOUSTAVY LINEÁRNÍCH ROVNIC:ITERAČNÍ METODY

Příklad 3.1: Vyřešte soustavu lineárních rovnic

−x1 +x2 +3x3 = 0,−x1 +2x2 −x3 = 9,3x1 +x2 +x3 = 10,

pomocí Jacobiho iterační metody s přesností ε = 10−2.

Než aplikujeme rekurentní vzorce pro Jacobiho metodu, musíme zajistit, aby posloupnostvektorů, kterou metoda vytváří, konvergovala ke správnému výsledku. Z teorie víme, žekonvergence je zaručena, pokud je matice soustavy ostře diagonálně dominantní (v ostat-ních případech konvergovat může, ale také nemusí). Pro tento účel stačí přehodit první atřetí rovnici a následně přičíst první rovnici ke druhé rovnici. Dostaneme pak:

3x1 +x2 +x3 = 10,2x1 +3x2 = 19,−x1 +x2 +3x3 = 0.

Matice soustavy

3 1 12 3 0−1 1 3

je ostře diagonálně dominantní, neboť absolutní hodnoty prvků na diagonále jsou (ostře)větší než součty absolutních hodnot ostatních prvků na příslušných řádcích, tj. 3 > 1 + 1,3 > 2 + 0 a 3 > 1 + 1.

30

Page 31: Numerická matematika Banka resenych prikladu

KAPITOLA 3. SOUSTAVY LINEÁRNÍCH ROVNIC: ITERAČNÍ METODY

Upravenou soustavu převedeme na iterační tvar

x1 = 13(10− x2 − x3),

x2 = 13(19− 2x1),

x3 = 13(x1 − x2)

a připsáním iteračních indexů dostaneme rekurentní vzorce pro Jacobiho metodu

x(k+1)1 = 1

3(10− x(k)2 − x(k)3 ),x(k+1)

2 = 13(19− 2x(k)1 ),

x(k+1)3 = 1

3(x(k)1 − x(k)2 ).

Poznamenejme, že rekurentní vzorce můžeme zapsat také v maticovém tvaru, který jeobzláště výhodný při řešení úlohy pomocí počítačového softwaru.

x(k+1)1

x(k+1)2

x(k+1)3

=

0 −13 −

13

−23 0 0

13 −1

3 0

·

x(k)1

x(k)2

x(k)3

+

103193

0

.

Protože výpočet konverguje pro libovolnou počáteční aproximaci x(0) = (x(0)1 , x(0)2 , x(0)3 )>,zvolíme pro jednoduchost

x(0) = ( 1, 1, 1 )>.

Dosadíme do pravé strany rekurentních vzorců a vypočteme

x(1) = ( 2.6667, 5.6667, 0 )>.

Jestliže takto pokražujeme dále, dostáváme

x(2) = ( 1.4444, 4.5556, −1 )>,

x(3) = ( 2.1481, 5.3704, −1.0370 )>, atd.

Současně přitom zjišťujeme, zda platí

‖x(k) − x(k−1)‖R ≤ 10−3,

takže postupně počítáme

‖x(1) − x(0)‖R = max{|2.6667− 1|, |5.6667− 1|, |0− 1|} = 4.6667,‖x(2) − x(1)‖R = max{|1.4444− 2.6667|, |4.5556− 5.6667|, | − 1− 0|} = 1.2222, atd.

Výpočet zapíšeme do tabulky:

k x(k)1 x(k)2 x(k)3 ‖x(k) − x(k−1)‖R

0 1 1 1 —1 2.6667 5.6667 0 4.66672 1.4444 4.5556 −1.0000 1.22223 2.1481 5.3704 −1.0370 0.81484 1.8889 4.9012 −1.0741 0.46915 2.0576 5.0741 −1.0041 0.17286 1.9767 4.9616 −1.0055 0.11257 2.0146 5.0155 −0.9950 0.05408 1.9931 4.9902 −1.0003 0.02539 2.0034 5.0046 −0.9990 0.0143

10 1.9982 4.9978 −1.0004 0.0068

31

Page 32: Numerická matematika Banka resenych prikladu

KAPITOLA 3. SOUSTAVY LINEÁRNÍCH ROVNIC: ITERAČNÍ METODY

Ukončili jsem po jedenácté iteraci, protože ‖x(10) − x(9)‖R = 0.0068 ≤ 10−2. Požadovanápřesnost je ε = 10−2, proto jednotlivé souřadnice výsledku zaokrouhlíme na 2 desetinnámísta.

Výsledek zapíšeme jako x1 = 2.00± 10−2, x2 = 5.00± 10−2, x3 = −1.00± 10−2.

Příklad 3.2: Vyřešte soustavu lineárních rovnic

x1 +x2 +5x3 = −6,5x1 +x2 +x3 = −18,7x1 +7x2 +7x3 = −14,

pomocí Gaussovy-Seidelovy iterační metody s přesností ε = 10−2.

Z teorie víme, že konvergence Gaussovy-Seidelovy metody je zaručena, pokud je maticesoustavy ostře diagonálně dominantní (v ostatních případech konvergovat může, ale takénemusí). Pro dosažení takové matice můžeme například nejprve umístit druhou rovnici naprvní pozici, třetí rovnici na druhou pozici a první rovnici na třetí pozici:

5x1 +x2 +x3 = −18,7x1 +7x2 +7x3 = −14,

x1 +x2 +5x3 = −6,

Pak již jen stačí odečíst první a třetí rovnici od druhé rovnice:

5x1 +x2 +x3 = −18,x1 +5x2 +x3 = 10,x1 +x2 +5x3 = −6.

Matice soustavy

5 1 12 5 11 1 5

je ostře diagonálně dominantní, neboť absolutní hodnoty prvků na diagonále jsou (ostře)větší než součty absolutních hodnot ostatních prvků na příslušných řádcích, tj. 5 > 1 + 1,5 > 2 + 1 a 5 > 1 + 1.Upravenou soustavu převedeme na iterační tvar

x1 = 15(−18− x2 − x3),

x2 = 15(10− x1 − x3),

x3 = 15(−6− x1 − x2)

a připsáním iteračních indexů dostaneme rekurentní vzorce pro Gaussovu-Seidelovu me-todu

x(k+1)1 = 1

5(−18− x(k)2 − x(k)3 ),x(k+1)

2 = 15(10− x(k+1)

1 − x(k)3 ),x(k+1)

3 = −15(−6− x(k+1)

1 − x(k+1)2 ).

32

Page 33: Numerická matematika Banka resenych prikladu

KAPITOLA 3. SOUSTAVY LINEÁRNÍCH ROVNIC: ITERAČNÍ METODY

Protože výpočet konverguje pro libovolnou počáteční aproximaci x(0) = (x(0)1 , x(0)2 , x(0)3 )>,zvolíme pro jednoduchost

x(0) = ( 1, 1, 1 )>.

Dosadíme do pravé strany rekurentních vzorců a vypočteme

x(1) = ( −4, 2.6, −0.92 )>.

Jestliže takto pokražujeme dále, dostáváme

x(2) = ( −3.936, 2.9712, −1.007 )>,

x(3) = ( −3.9928, 3, −1.0014 )>, atd.

Současně přitom zjišťujeme, zda platí

‖x(k) − x(k−1)‖R ≤ 10−2,

takže postupně počítáme

‖x(1) − x(0)‖R = max{| − 4− 1|, |2.6− 1|, | − 0.92− 1|} = 5,

‖x(2) − x(1)‖R = max{| − 3.936 + 4|, |2.9712− 2.6|, | − 1.007 + 0.92|} = 0.3712,

‖x(3) − x(2)‖R = 0.0568, atd.

Výpočet zapíšeme do tabulky:

k x(k)1 x(k)2 x(k)3 ‖x(k) − x(k−1)‖R

0 1 1 1 —1 −4.0000 2.6000 −0.9200 5.00002 −3.9360 2.9712 −1.0070 0.37123 −3.9928 3.0000 −1.0014 0.05684 −3.9997 3.0002 −1.0001 0.0069

Ukončili jsem po jedenácté iteraci, protože ‖x(4) − x(3)‖R = 0.0069 ≤ 10−2. Požadovanápřesnost je ε = 10−2, proto jednotlivé souřadnice výsledku zaokrouhlíme na 2 desetinnámísta.

Výsledek zapíšeme jako x1 = −4.00± 10−2, x2 = 3.00± 10−2, x3 = −1.00± 10−2.

Příklad 3.3: Vyřešte soustavu lineárních rovnic

3x1 +x2 +2x3 = 12,5x1 −x2 −4x3 = −11,−2x1 +4x2 −2x3 = 2,

jak pomocí Jacobiho, tak pomocí Gaussovy-Seidelovy iterační metody s přesností ε =10−2. Všímejte si odlišností obou metod.

33

Page 34: Numerická matematika Banka resenych prikladu

KAPITOLA 3. SOUSTAVY LINEÁRNÍCH ROVNIC: ITERAČNÍ METODY

Aby metody konvergovaly, je třeba převést soustavu rovnic do ekvivalentního tvaru, jehožmatice soustavy je ostře diagonálně dominantní. Zdůrazněme, že tato postačující podmínkakonvergence je pro obě metody společná!Všimněte si, že v matici soustavy nenajdeme na žádném řádku ostře dominantní prvek vesmyslu, že by byl v absolutní hodnotě (ostře) větší než součet absolutních hodnot prvkůzbylých. Vhodné ekvivalentní úpravy se nám proto budou hledat obtížněji, protože všakje matice soustavy regulární (má nenulový determinant - ověřte si!), takové úpravy nutněexistují. Se soustavou budeme pracovat v maticovém tvaru, protože je to přehlednější. Pokrátkém experimentování (ovšem s vědomím toho, co chceme získat) dostáváme následujícíúpravy:

3 1 2 125 −1 −4 −11−2 4 −2 2

←−

1

+

3 1 2 125 −1 −4 −111 5 0 14

←−←−

3 1 2 121 5 0 145 −1 −4 −11

←−

1

+

8 0 −2 11 5 0 145 −1 −4 −11

.

V tuto chvíli jsme získali ostrou diagonální dominanci na prvním a druhém řádku. Natřetím řádku bychom měli rádi dominantní třetí prvek (tj. −4), přičemž nám vadí prvníprvek (tj. 5). Nabízí se odečíst od třetího řádku první (na první pozici pak bude místo 5menší −3), jenže tím dominance nedosáhneme. Ukázalo se, že odečtení celého prvníhořádku bylo příliš „hrubou“ operací. Zkusme tedy být jemnější a od třetího řádku odečíst 5

8prvního řádku. Po provedení závěrečné kosmetické úpravy dostaneme:

8 0 −2 11 5 0 145 −1 −4 −11

←−

− 58

+

8 0 −2 11 5 0 140 −1 −11

4 −938

| · −8

8 0 −2 11 5 0 140 8 22 93

.

Zapsáno opět v rovnicovém tvaru tedy:

8x1 −2x3 = 1,x1 +5x2 = 14,

8x2 +22x3 = 93.

Matice soustavy

8 0 −21 5 00 8 22

.

je samozřejmě ostře diagonálně dominantní, neboť absolutní hodnoty prvků na diagonálejsou (ostře) větší než součty absolutních hodnot ostatních prvků na příslušných řádcích, tj.8 > 0 + 2, 5 > 1 + 0 a 22 > 0 + 8.

34

Page 35: Numerická matematika Banka resenych prikladu

KAPITOLA 3. SOUSTAVY LINEÁRNÍCH ROVNIC: ITERAČNÍ METODY

Upravenou soustavu převedeme do iteračního tvaru

x1 = 18(1 + 2x3),

x2 = 15(14− x1),

x3 = − 122(93− 8x2).

V tuto chvíli je třeba napsat rekurentní vzorce a ty jsou u Jacobiho i Gaussovy-Seidelovymetody odlišné.Nejprve rekurentní vzorce pro Jacobiho metodu:

x(k+1)1 = 1

8(1 + 2x(k)3 ),x(k+1)

2 = 15(14− x(k)1 ),

x(k+1)3 = − 1

22(93− 8x(k)2 ).

A dále rekurentní vzorce pro Gaussovu-Seidelovu metodu:

x(k+1)1 = 1

8(1 + 2x(k)3 ),x(k+1)

2 = 15(14− x(k+1)

1 ),x(k+1)

3 = − 122(93− 8x(k+1)

2 ).

Výpočet konverguje pro libovolnou počáteční aproximaci x(0) = (x(0)1 , x(0)2 , x(0)3 )>, u oboumetod tedy zvolíme pro například

x(0) = ( 1, 1, 1 )>.

Dosadíme do pravé strany rekurentních vzorců a vypočteme první prvky. V případě Jaco-biho metody dostaneme

x(1) = ( 38 , 13

5 , 8522 )>.

Po prvním kroku je hodnota chyby

‖x(1) − x(0)‖R = max{|38 − 1|, |135 − 1|, |85

22 − 1|} = 6322 > 10−2.

V případě Gaussovy-Seidelovy metody to bude

x(1) = ( 38 , 109

40 , 17855 )>

a chyba bude mít hodnotu

‖x(1) − x(0)‖R = max{|38 − 1|, |10940 − 1|, |178

55 − 1|} = 12355 > 10−2.

Výpočet opakujeme, dokud není chyba menší nebo rovna 10−2. Výpočty zapíšeme dotabulek. Jacobiho metoda:Gaussova-Seidelova metoda:

k x(k)1 x(k)2 x(k)3 ‖x(k) − x(k−1)‖R

0 1 1 1 —1 0.3750 2.7250 3.2364 2.23642 0.9341 2.6132 3.2770 0.55913 0.9443 2.6111 3.2778 0.01024 0.9444 2.6111 3.2778 0.0002

35

Page 36: Numerická matematika Banka resenych prikladu

KAPITOLA 3. SOUSTAVY LINEÁRNÍCH ROVNIC: ITERAČNÍ METODY

k x(k)1 x(k)2 x(k)3 ‖x(k) − x(k−1)‖R

0 1 1 1 —1 0.3750 2.6000 3.8636 2.86362 1.0909 2.7250 3.2818 0.71593 0.9455 2.5818 3.2364 0.14554 0.9341 2.6109 3.2884 0.05215 0.9471 2.6132 3.2779 0.01306 0.9445 2.6106 3.2770 0.0026

Jacobiho metodu jsme ukončili po šesté iteraci a Gaussovu-Seidelovu po čtvrté iteraci.Požadovaná přesnost je ε = 10−2, proto jednotlivé souřadnice výsledku zaokrouhlíme na 2desetinná místa.

Výsledky obou metod jsou totožné (všimněte si však, že na dalších desetinných místechse liší) a zapíšeme je jako x1 = 0.94± 10−2, x2 = 2.61± 10−2, x3 = 3.28± 10−2.

Příklad 3.4: Vyřešte soustavu lineárních rovnic

−6x1 +2x2 +x3 +x4 = −17,2x1 +5x2 +x4 = −9,

x1 +6x2 +5x3 = −21,2x1 +x2 −x3 +5x4 = 12.

pomocí Jacobiho iterační metody s přesností ε = 10−2.

Než aplikujeme rekurentní vzorce pro Jacobiho metodu, musíme zajistit, aby posloupnostvektorů, kterou metoda vytváří, konvergovala ke správnému výsledku. Z teorie víme, žekonvergence je zaručena, pokud je matice soustavy ostře diagonálně dominantní (v ostat-ních případech konvergovat může, ale také nemusí). Pro tento účel stačí od třetí rovniceodečíst rovnici druhou a dostaneme:

−6x1 +2x2 +x3 +x4 = −17,2x1 +5x2 +x4 = −9,−x1 +x2 +5x3 −x4 = −12,2x1 +x2 −x3 +5x4 = 12.

Matice soustavy

−6 2 1 12 5 0 1−1 1 5 −12 1 −1 5

je ostře diagonálně dominantní, neboť absolutní hodnoty prvků na diagonále jsou (ostře)větší než součty absolutních hodnot ostatních prvků na příslušných řádcích, tj. 6 > 2+ 1+1, 5 > 2 + 0 + 1, 5 > 1 + 1 + 1 a 5 > 2 + 1 + 1.

36

Page 37: Numerická matematika Banka resenych prikladu

KAPITOLA 3. SOUSTAVY LINEÁRNÍCH ROVNIC: ITERAČNÍ METODY

Upravenou soustavu převedeme na iterační tvar

x1 = −16(−17− 2x2 − x3 − x4),

x2 = 15(−9− 2x1 − x4),

x3 = 15(−12 + x1 − x2 + x4),

x4 = 15(12− 2x1 − x2 + x3)

a připsáním iteračních indexů dostaneme rekurentní vzorce pro Jacobiho metodu

x(k+1)1 = 1

6(17 + 2x(k)2 + x(k)3 + x(k)4 ),x(k+1)

2 = 15(−9− 2x(k)1 − x(k)4 ),

x(k+1)3 = 1

5(−12 + x(k)1 − x(k)2 + x(k)4 ),x(k+1)

4 = 15(12− 2x(k)1 − x(k)2 + x(k)3 ).

Poznamenejme, že rekurentní vzorce můžeme zapsat také v maticovém tvaru, který jeobzláště výhodný při řešení úlohy pomocí počítačového softwaru.

x(k+1)1

x(k+1)2

x(k+1)3

x(k+1)4

=

0 13

16

16

−25 0 0 −1

515 −1

5 0 14

−25 −

15

15 0

·

x(k)1

x(k)2

x(k)3

x(k)4

+

176

−95

−125

125

.

Protože výpočet konverguje pro libovolnou počáteční aproximaci x(0) = (x(0)1 , x(0)2 , x(0)3 , x(0)4 )>,zvolíme pro jednoduchost

x(0) = ( 0, 0, 0, 0 )>.

Dosadíme do pravé strany rekurentních vzorců a vypočteme

x(1) = ( 176 , −9

5 , −125 , 12

5 )>.

Jestliže takto pokražujeme dále, dostáváme

x(2) = ( 2.2333, −3.4133, −0.9933, 1.1467 )>,

x(3) = ( 1.7211, −2.9227, −1.0413, 1.9907 )>, atd.

Současně přitom zjišťujeme, zda platí

‖x(k) − x(k−1)‖R ≤ 10−2,

takže postupně počítáme

‖x(1) − x(0)‖R = max{|176 − 2.2333|, | − 9

5 + 3.4133|, | − 125 + 0.9933|, |12

5 − 1.1467|}= 2.8333,

‖x(2) − x(1)‖R = 1.6133,

‖x(3) − x(2)‖R = 0.8440, atd.

Výpočet zapíšeme do tabulky:

37

Page 38: Numerická matematika Banka resenych prikladu

KAPITOLA 3. SOUSTAVY LINEÁRNÍCH ROVNIC: ITERAČNÍ METODY

k x(k)1 x(k)2 x(k)3 x(k)4 ‖x(k) − x(k−1)‖R

0 0 0 0 0 —1 2.8333 −1.8000 −2.4000 2.4000 2.83332 2.2333 −3.4133 −0.9933 1.1467 1.61333 1.7211 −2.9227 −1.0413 1.9907 0.84404 2.0173 −2.8866 −1.0731 2.0878 0.29625 2.0403 −3.0245 −1.0017 1.9558 0.13796 1.9842 −3.0073 −0.9959 1.9885 0.05617 1.9963 −2.9914 −1.0040 2.0086 0.02018 2.0036 −3.0003 −1.0007 1.9989 0.0097

Ukončili jsem po osmé iteraci, protože ‖x(8)− x(7)‖R = 0.0097 ≤ 10−2. Požadovaná přesnostje ε = 10−2, proto jednotlivé souřadnice výsledku zaokrouhlíme na 2 desetinná místa.

Výsledek zapíšeme jako x1 = 2.00 ± 10−2, x2 = −3.00 ± 10−2, x3 = −1.00 ± 10−2,x4 = 2.00± 10−2.

Příklad 3.5: Vyřešte soustavu lineárních rovnic

−6x1 +2x2 +x3 +2x4 = 16,x1 −5x2 −x3 +2x4 = 3,

2x1 −x2 −5x3 +x4 = 21,5x1 −6x3 +7x4 = 54.

pomocí Gaussovy-Seidelovy iterační metody s přesností ε = 10−2.

Z teorie víme, že konvergence Gaussovy-Seidelovy metody je zaručena, pokud je maticesoustavy ostře diagonálně dominantní (v ostatních případech konvergovat může, ale takénemusí). Pro dosažení takové matice soustavy stačí od čtvrté rovnice odečíst rovnici třetí adostaneme:

−6x1 +2x2 +x3 +2x4 = 16,x1 −5x2 −x3 +2x4 = 3,

2x1 −x2 −5x3 +x4 = 21,3x1 +x2 −x3 +6x4 = 33.

Matice soustavy

−6 2 1 21 −5 −1 22 −1 −5 13 1 −1 6

je ostře diagonálně dominantní, neboť absolutní hodnoty prvků na diagonále jsou (ostře)větší než součty absolutních hodnot ostatních prvků na příslušných řádcích, tj. 6 > 2+ 1+2, 5 > 1 + 1 + 2, 5 > 2 + 1 + 1 a 6 > 3 + 1 + 1.Upravenou soustavu převedeme na iterační tvar

x1 = −16(16− 2x2 − x3 − 2x4),

x2 = −15(3− x1 + x3 − 2x4),

x3 = −15(21− 2x1 + x2 − x4),

x4 = 16(33− 3x1 − x2 + x3)

38

Page 39: Numerická matematika Banka resenych prikladu

KAPITOLA 3. SOUSTAVY LINEÁRNÍCH ROVNIC: ITERAČNÍ METODY

a připsáním iteračních indexů dostaneme rekurentní vzorce pro Gaussovu-Seidelovu me-todu

x(k+1)1 = −1

6(16− 2x(k)2 − x(k)3 − 2x(k)4 ),

x(k+1)2 = −1

5(3− x(k+1)1 + x(k)3 − 2x(k)4 ),

x(k+1)3 = −1

5(21− 2x(k+1)1 + x(k+1)

2 − x(k)4 ),

x(k+1)4 = 1

6(33− 3x(k+1)1 − x(k+1)

2 + x(k+1)3 )

Protože výpočet konverguje pro libovolnou počáteční aproximaci x(0) = (x(0)1 , x(0)2 , x(0)3 , x(0)4 )>,zvolíme pro jednoduchost

x(0) = ( 1, 1, 1, 1 )>.

Dosadíme do pravé strany rekurentních vzorců a vypočteme

x(1) = ( −1.8333, −0.7667, −4.58, 5.7811 )>.

Jestliže takto pokražujeme dále, dostáváme

x(2) = ( −1.7585, 2.2767, −4.2025, 5.2994 )>,

x(3) = ( −0.8417, 2.1919, −3.9152, 4.9030 )>, atd.

Současně přitom zjišťujeme, zda platí

‖x(k) − x(k−1)‖R ≤ 10−2,

takže postupně počítáme

‖x(1) − x(0)‖R = max{| − 1.8333− 1|, | − 0.7667− 1|, | − 4.58− 1|, |5.7811− 1|}= 5.58,

‖x(2) − x(1)‖R = 3.0434,

‖x(3) − x(2)‖R = 0.9168, atd.

Výpočet zapíšeme do tabulky:

k x(k)1 x(k)2 x(k)3 x(k)4 ‖x(k) − x(k−1)‖R

0 0 0 0 0 —1 −1.8333 −0.7667 −4.5800 5.7811 5.58002 −1.7585 2.2767 −4.2025 5.2994 3.04343 −0.8417 2.1919 −3.9152 4.9030 0.91684 −0.9542 1.9534 −3.9918 4.9863 0.23855 −1.0187 1.9891 −4.0081 5.0098 0.06456 −1.0017 2.0052 −3.9998 5.0000 0.01717 −0.9982 2.0003 −3.9993 4.9992 0.0049

Ukončili jsem po sedmé iteraci, protože ‖x(7) − x(6)‖R = 0.0049 ≤ 10−2. Požadovaná přes-nost je ε = 10−2, proto jednotlivé souřadnice výsledku zaokrouhlíme na 2 desetinná místa.

39

Page 40: Numerická matematika Banka resenych prikladu

KAPITOLA 3. SOUSTAVY LINEÁRNÍCH ROVNIC: ITERAČNÍ METODY

Výsledek zapíšeme jako x1 = −1.00 ± 10−2, x2 = 2.00 ± 10−2, x3 = −4.00 ± 10−2,x4 = 5.00± 10−2.

40

Page 41: Numerická matematika Banka resenych prikladu

KAPITOLA

4

INTERPOLACE A APROXIMACEFUNKCÍ

Příklad 4.1: Pro uzly xi a funkční hodnoty yi dané následující tabulkou

i=1 i=2 i=3 i=4 i=5

xi −3 −1 0 2 3

yi 1 0 −1 0 −3

sestavte interpolační polynom v Lagrangeově tvaru.

Interpolační polynom v Lagrangeově tvaru je určen předpisem

p(x) = y0ϕ0(x) + y1ϕ1(x) + y2ϕ2(x) + y3ϕ3(x) + y4ϕ4(x),

kde ϕ0(x), ϕ1(x), ϕ2(x), ϕ3(x), ϕ4(x) jsou polynomy Lagrangeovy báze dané úlohy:

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

(−3 + 1)(−3− 0)(−3− 2)(−3− 3)=

1180

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

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

(−1 + 3)(−1− 0)(−1− 2)(−1− 3)= − 1

24x(x + 3)(x− 2)(x− 3),

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

=118

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

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

= − 130

x(x + 3)(x + 1)(x− 3),

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

=172

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

Dohromady pak dostáváme

41

Page 42: Numerická matematika Banka resenych prikladu

KAPITOLA 4. INTERPOLACE A APROXIMACE FUNKCÍ

p(x) =1

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

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

− 124

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

Příklad 4.2: Pro uzly xi a funkční hodnoty yi dané následující tabulkou

i=1 i=2 i=3 i=4

xi −3 −1 0 2 3

yi 1 0 −1 0 −3

sestavte interpolační polynom v Newtonově tvaru.

Interpolační polynom v Newtonově tvaru je určen předpisem

p(x) = y0 + f [x1, x0](x− x0) + f [x2, x1, x0](x− x0)(x− x1) +

+ f [x3, x2, x1, x0](x− x0)(x− x1)(x− x2) +

+ f [x4, x3, x2, x1, x0](x− x0)(x− x1)(x− x2)(x− x3),

kde f [x1, x0] , f [x2, x1, x0], f [x3, x2, x1, x0] a f [x4, x3, x2, x1, x0] jsou poměrné diference 1.,2.,3.a 4. řádu.Poměrné diference prvního řádu.Spočítáme všechny poměrného diference prvního řádu podle vzorce:

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

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

V tomto příkladě je počet uzlů n = 5, budou tedy čtyři poměrné diference prvního řádu:

pro i = 0 f [x1, x0] =f1 − f0

x1 − x0=

0− 1−1− (−3)

=−12

pro i = 1 f [x2, x1] =f2 − f1

x2 − x1=−1− 0

0− (−1)= −1

pro i = 2 f [x3, x2] =f3 − f2

x3 − x2=

0− (−1)2− 0

=12

pro i = 3 f [x4, x3] =f4 − f3

x4 − x3=−3− 03− 2

= −3

Poměrné diference druhého řádu.Spočítáme všechny poměrného diference druhého řádu podle vzorce:

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

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

42

Page 43: Numerická matematika Banka resenych prikladu

KAPITOLA 4. INTERPOLACE A APROXIMACE FUNKCÍ

Poměrné diference druhého řádu budou tři:

pro i = 0 f [x2, x1, x0] =f [x2, x1]− f [x1, x0]

x2 − x0=−1− 1

20− (−3)

= −16

pro i = 1 f [x3, x2, x1] =f [x3, x2]− f [x2, x1]

x3 − x1=

12 − (−1)2− (−1)

=12

pro i = 2 f [x4, x3, x2] =f [x4, x3]− f [x3, x2]

x4 − x2=−3− (−1

2)

3− (−1)= −7

6

Poměrné diference třetího řádu.Spočítáme všechny poměrného diference třetího řádu podle vzorce:

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

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

Poměrné diference třetího řádu budou dvě:

pro i = 0 f [x3, x2, x1, x0] =f [x3, x2, x1]− f [x2, x1, x0]

x3 − x0=

12 − (−1

6)

2− (−3)=

215

pro i = 1 f [x4, x3, x2, x1] =f [x4, x3, x2]− f [x3, x2, x1]

x4 − x1=−7

6 −12

3− (−1)= − 5

12

Poměrné diference čtvrtého řádu.Spočítáme poměrnou diference čtvrtého řádu podle vzorce:

f [xi+4, xi+3, xi+2, xi+1, xi] =f [xi+4, xi+3, xi+2, xi+1]− f [xi+3, xi+2, xi+1, xi]

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

Poměrná diference čtvrého řádu bude jedna:

pro i = 0 f [x4, x3, x2, x1, x0] =f [x4, x3, x2, x1]− f [x3, x2, x1, x0]

x4 − x0=− 5

12 −215

3− (−3)= − 11

120

Poměrných diference lze zapsat do tabulky:

i xi yi 1.řád 2.řád 3.řád 4.řád

0 −3 1 −12 −1

62

15 − 11120

1 −1 0 −1 12 − 5

12

2 0 −1 12 −7

6

3 2 0 −3

4 3 −3

43

Page 44: Numerická matematika Banka resenych prikladu

KAPITOLA 4. INTERPOLACE A APROXIMACE FUNKCÍ

Interpolační polynom v Newtonově tvaru je určen předpisem:

p(x) = f0 + f [x1, x0](x− x0) + f [x2, x1, x0](x− x0)(x− x1) +

+ f [x3, x2, x1, x0](x− x0)(x− x1)(x− x2) +

+ f [x4, x3, x2, x1, x0](x− x0)(x− x1)(x− x2)(x− x3),

Pomocí hodnot vypočtených v prvním řádku tabulky sestavíme interpolační polynom:

p(x) = 1− 12(x+ 3)− 1

6(x+ 1)(x+ 3)+

215

x(x+ 1)(x+ 3)− 11120

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

Příklad 4.3: Pro uzly xi a funkční hodnoty yi dané následující tabulkou

i=1 i=2 i=3

xi −3 −1 1

yi 1 −1 2

sestavte interpolační polynom:a) v základním tvaru,b) v Lagrangeově tvaru,c) v Newtonově tvaru.

a) Interpolační polynom hledáme ve tvaru p(x) = a0 + a1x + a2x2. Dosazením do interpo-lačních požadavků p(xi) = yi, i = 0, 1, 2 dostaneme

p(−3) = 1 =⇒ a0 − 3a1 + 9a2 = 1,p(−1) = −1 =⇒ a0 − a1 + a2 = −1,p(1) = 2 =⇒ a0 + a1 + a2 = 2.

Tyto rovnosti představují soustavu lineárních rovnic, kterou je možno zapsat také ve tvaru

1 −3 91 −1 11 1 1

a0a1a2

=

1−1

2

.

Vyřešením dostaneme a0 = −18 , a1 = 3

2 , a2 = 58 , takže hledaným interpolační polynom má

tvarp(x) = −1

8+

32

x +58

x2.

b) Interpolační polynom v Lagrangeově tvaru je určen předpisem

p(x) = y0ϕ0(x) + y1ϕ1(x) + y2ϕ2(x),

kde ϕ0(x), ϕ1(x), ϕ2(x) jsou polynomy Lagrangeovy báze dané úlohy:

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

(−3 + 1)(−3− 1)=

18(x + 1)(x− 1),

ϕ1(x) =(x + 3)(x− 1)

(−1 + 3)(−1− 1)= −1

4(x + 3)(x− 1),

ϕ2(x) =(x + 3)(x + 1)(1 + 3)(1 + 1)

=18(x + 3)(x + 1).

44

Page 45: Numerická matematika Banka resenych prikladu

KAPITOLA 4. INTERPOLACE A APROXIMACE FUNKCÍ

Dohromady pak dostáváme

p(x) =18(x + 1)(x− 1) +

14(x + 3)(x− 1) +

14(x + 3)(x + 1).

c) Interpolační polynom v Newtonově tvaru je určen předpisem

p(x) = y0 + f [x1, x0](x− x0) + f [x2, x1, x0](x− x0)(x− x1),

kde f [x1, x0] a f [x2, x1, x0] jsou poměrné diference 1. a 2. řádu. Výpočet poměrných diferencíje proveden v následující tabulce:

i xi yi 1.řád 2.řád

0 −3 1 −1 58

1 −1 −1 32

2 1 2

Pomocí hodnot vypočtených v prvním řádku tabulky sestavíme interpolační polynom:

p(x) = 1− (x + 3) +58(x + 3)(x + 1).

p(x) = −18+

32

x +58

x2

p(x) =18(x + 1)(x− 1) +

14(x + 3)(x− 1) +

14(x + 3)(x + 1)

p(x) = 1− (x + 3) +58(x + 3)(x + 1)

Příklad 4.4: Aproximujte následující data

i=1 i=2 i=3 i=4 i=5

xi 1 2.5 3 5 7

yi 0 1 6.5 6 15

přímkou ϕ(x) = c1x + c2 metodou nejmenších čtverců.

Pro nalezení nejlepší aproximace ve smyslu nejmenších čtverců je třeba nejprve sestavitnormální rovnice. Pokud hledáme aproximaci ve tvaru ϕ(x) = c1ϕ1(x) + c2ϕ2(x), kdec1, c2 ∈ R jsou vhodné koeficienty, a v bodech xi máme předepsané hodnoty yi, přičemži = 1, . . . , n, pak mají normální rovnice tvar

c1

n

∑i=1

(ϕ1(xi))2 + c2

n

∑i=1

ϕ1(xi) · ϕ2(xi) =n

∑i=1

yi · ϕ1(xi)

c1

n

∑i=1

ϕ2(xi) · ϕ1(xi) + c2

n

∑i=1

(ϕ2(xi))2 =

n

∑i=1

yi · ϕ2(xi)

45

Page 46: Numerická matematika Banka resenych prikladu

KAPITOLA 4. INTERPOLACE A APROXIMACE FUNKCÍ

V našem případě je ϕ1(x) = x a ϕ2(x) = 1 (jedná se o konstantní funkci, která má vkaždém bodě hodnotu 1). Nyní již soustavu normálních rovnic pro neznámé koeficientyc1, c2 snadno zapíšeme.

c1

5

∑i=1

x2i + c2

5

∑i=1

xi =5

∑i=1

yi · xi

c1

5

∑i=1

xi + c2

5

∑i=1

1 =5

∑i=1

yi

Vypočítáme jednotlivé součty:

5

∑i=1

x2i = 12 + 2.52 + 32 + 52 + 72 = 90.25

5

∑i=1

xi = 1 + 2.5 + 3 + 5 + 7 = 18.5

5

∑i=1

yi · xi = 0 · 1 + 1 · 2.5 + 6.5 · 3 + 6 · 5 + 15 · 7 = 157

5

∑i=1

yi = 0 + 1 + 6.5 + 6 + 15 = 28.5

A dosadíme do soustavy lineárních rovnic:

90.25c1 + 18.5c2 = 15718.5c1 + 5c2 = 28.5

Soustavu vyřešíme a dostaneme koeficienty c1 = 2.3647, c2 = −3.0493.

Nalezená funkce má rovnici ϕ(x) = 2.3647x− 3.0493.

46

Page 47: Numerická matematika Banka resenych prikladu

KAPITOLA 4. INTERPOLACE A APROXIMACE FUNKCÍ

1 2 3 4 5 6 7

0

5

10

15

zadana datanalezena funkce

Příklad 4.5: Aproximujte následující data

i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 i=10

xi 0.2 0.8 4.6 6.2 6.6 11.5 11.8 13.1 14.6 14.9

yi 29 11 -42 -36 -35 -59 -55 -46 -47 -46

funkcí ϕ(x) = c1 sin x + c2 ln x metodou nejmenších čtverců.

Pro nalezení nejlepší aproximace ve smyslu nejmenších čtverců je třeba nejprve sestavitnormální rovnice. Pokud hledáme aproximaci ve tvaru ϕ(x) = c1ϕ1(x) + c2ϕ2(x), kdec1, c2 ∈ R jsou vhodné koeficienty, a v bodech xi máme předepsané hodnoty yi, přičemži = 1, . . . , n, pak mají normální rovnice tvar

c1

n

∑i=1

(ϕ1(xi))2 + c2

n

∑i=1

ϕ1(xi) · ϕ2(xi) =n

∑i=1

yi · ϕ1(xi)

c1

n

∑i=1

ϕ2(xi) · ϕ1(xi) + c2

n

∑i=1

(ϕ2(xi))2 =

n

∑i=1

yi · ϕ2(xi)

V našem případě je ϕ1(x) = sin x a ϕ2(x) = ln x. Nyní již soustavu normálních rovnic proneznámé koeficienty c1, c2 snadno zapíšeme.

c1

10

∑i=1

sin2 xi + c2

10

∑i=1

sin xi ln xi =10

∑i=1

yi · sin xi

c1

10

∑i=1

ln xi sin xi + c2

10

∑i=1

ln2 xi =10

∑i=1

yi · ln xi

47

Page 48: Numerická matematika Banka resenych prikladu

KAPITOLA 4. INTERPOLACE A APROXIMACE FUNKCÍ

Vypočítáme jednotlivé součty:

10

∑i=1

sin2 xi = sin2(0.2) + sin2(0.8) + sin2(4.6) + sin2(6.2) + sin2(6.6) + sin2(11.5) +

+ sin2(11.8) + sin2(13.1) + sin2(14.6) + sin2(14.9) = 4.474810

∑i=1

sin xi ln xi = sin(0.2) · ln(0.2) + sin(0.8) · ln(0.8) + sin(4.6) · ln(4.6) +

+ sin(6.2) · ln(6.2) + sin(6.6) · ln(6.6) + sin(11.5) · ln(11.5) ++ sin(11.8) · ln(11.8) + sin(13.1) · ln(13.1) + sin(14.6) · ln(14.6) ++ sin(14.9) · ln(14.9) = 0.2505

10

∑i=1

ln2 xi = ln2(0.2) + ln2(0.8) + ln2(4.6) + ln2(6.2) + ln2(6.6) + ln2(11.5) +

+ ln2(11.8) + ln2(13.1) + ln2(14.6) + ln2(14.9) = 45.019110

∑i=1

yi sin xi = 29 · sin(0.2) + 11 · sin(0.8)− 42 · sin(4.6)− 36 · sin(6.2)−

−35 · sin(6.6)− 59 · sin(11.5)− 55 · sin(11.8)− 46 · sin(13.1)−−47 · sin(14.6)− 46 · sin(14.9) = 38.564

10

∑i=1

yi ln xi = 29 · ln(0.2) + 11 · ln(0.8)− 42 · ln(4.6)− 36 · ln(6.2)− 35 · ln(6.6)−

−59 · ln(11.5)− 55 · ln(11.8)− 46 · ln(13.1)− 47 · ln(14.6)−46 · ln(14.9) = −893.4086

A dosadíme do soustavy lineárních rovnic:

4.4748c1 + 0.2505c2 = 38.5640.2505c1 + 45.0191c2 = −893.4086

Soustavu vyřešíme a dostaneme koeficienty c1 = 9.7321, c2 = −19.8993.

Nalezená funkce má rovnici ϕ(x) = 9.7321 sin x− 19.8993 ln x.

48

Page 49: Numerická matematika Banka resenych prikladu

KAPITOLA 4. INTERPOLACE A APROXIMACE FUNKCÍ

2 4 6 8 10 12 14

−50

−40

−30

−20

−10

0

10

20

30 zadana datanalezena funkce

Příklad 4.6: Aproximujte následující data

i=1 i=2 i=3 i=4 i=5

xi -3 -1 3 4 8

yi 2 1 5.5 4.4 0.5

pomocí metody nejmenších čtverců nejprve přímkou ϕ(x) = c1x + c2 a posléze funkcíψ(x) = d1 sin x + d2 cos x. Určete, která ze získaných funkcí aproximuje zadaná datalépe.

Nejprve je třeba sestavit normální rovnice. V obou případech jde o aproximaci tvaruϕ(x) = c1ϕ1(x) + c2ϕ2(x), kde c1, c2 ∈ R jsou vhodné koeficienty. Pokud máme v bo-dech xi předepsané hodnoty yi, přičemž i = 1, . . . , n, pak mají normální rovnice tvar

c1

n

∑i=1

(ϕ1(xi))2 + c2

n

∑i=1

ϕ1(xi) · ϕ2(xi) =n

∑i=1

yi · ϕ1(xi)

c1

n

∑i=1

ϕ2(xi) · ϕ1(xi) + c2

n

∑i=1

(ϕ2(xi))2 =

n

∑i=1

yi · ϕ2(xi)

Po zkušenostech získaných v předchozích úlohách jsme s normálními rovnicemi obezná-meni natolik, že se můžeme podívat, jak vypadá přepis do maticového tvaru:

(∑n

i=1 (ϕ1(xi))2 ∑n

i=1 ϕ1(xi) · ϕ2(xi)

∑ni=1 ϕ2(xi) · ϕ1(xi) ∑n

i=1 (ϕ2(xi))2

)·(

c1

c2

)=

(∑n

i=1 yi · ϕ1(xi)

∑ni=1 yi · ϕ2(xi)

)

49

Page 50: Numerická matematika Banka resenych prikladu

KAPITOLA 4. INTERPOLACE A APROXIMACE FUNKCÍ

V prvním případě je ϕ1(x) = x, ϕ2(x) = 1 a ve druhém ϕ1(x) = sin x, ϕ2(x) = cos x. Nyníjiž obě soustavy normálních rovnic snadno zapíšeme.Aproximace funkcí tvaru ϕ(x) = c1x + c2:

(∑5

i=1 x2i ∑5

i=1 xi

∑5i=1 xi ∑5

i=1 1

)·(

c1c2

)=

(∑n

i=1 yixi

∑ni=1 yi

)

Po dosazení hodnot ze zadání dostaneme soustavu rovnic:(

99 1111 5

)·(

c1c2

)=

(31.113.4

)

Soustavu vyřešíme a dostaneme koeficienty (zaokrouhleno na 2 desetinná místa) c1 =0.02, c2 = 2.63.

Nalezená funkce má rovnici ϕ(x) = 0.02 x + 2.63.

Aproximace funkcí tvaru ψ(x) = d1 sin x + d2 cos x:(

∑5i=1 sin2 xi ∑5

i=1 sin xi cos xi

∑5i=1 cos xi sin xi ∑5

i=1 cos2 xi

)·(

d1

d2

)=

(∑n

i=1 yi sin xi

∑ni=1 yi cos xi

)

Po dosazení hodnot ze zadání dostaneme soustavu rovnic (zaokrouhleno na 2 desetinnámísta): (

2.24 −0.23−0.23 2.76

)·(

d1d2

)=

(−10.87−7.63

)

Soustavu vyřešíme a dostaneme koeficienty (zaokrouhleno na 2 desetinná místa) c1 =−1.55, c2 = −3.7.

Nalezená funkce má rovnici ψ(x) = −1.55 sin x− 3.7 cos x.

Jak určit, která z aproximací je lepší? Někdy se to zdá být zjevné z obrázku, ale rádi bychomuměli „dobrost“ aproximace měřit exaktně. Principem metody nejmenších čtverců je nalézttakovou funkci určitého tvaru, jejíž součet druhých mocnin (tj. čtverců) rozdílů funkčníchhodnot a zadaných hodnot v předepsaných bodech je co nejmenší. Pro měření „dobrosti“aproximace proto využijeme právě těchto součtů. Čím menší součet dostaneme, tím lepší jeaproximace. V případě, že dostaneme soušet nulový, je aproximace ideální a předepsanýchbodech nabývá předepsaných hodnot.Pro aproximaci ϕ(x) dat xi, yi, kde i = 1, . . . , n, definujeme chybu jako ∑n

i=1 (ϕ(xi)− yi)2.

Chyba aproximace ϕ(x) = 0.02x + 2.63 je proto

5

∑i=1

(0.02xi + 2.63− yi)2 = 18.91

Chyba aproximace ψ(x) = −1.55 sin x− 3.7 cos x je proto

5

∑i=1

(−1.55 sin xi − 3.7 cos xi − yi)2 = 13.53

50

Page 51: Numerická matematika Banka resenych prikladu

KAPITOLA 4. INTERPOLACE A APROXIMACE FUNKCÍ

Protože 13.53 < 18.91, je lepší aproximací dat funkce ψ(x).

−3 −2 −1 0 1 2 3 4 5 6 7 8−6

−4

−2

0

2

4

6

8

zadana data1. nalezena funkce2. nalezena funkce

Příklad 4.7: Aproximujte následující data

i=1 i=2 i=3 i=4 i=5 i=6 i=7

xi 0.2 2 2.7 4.5 4.7 7.5 9.3

yi 0 3.4 3.8 5.8 6.4 6.6 7.1

funkcí ϕ(x) = c1x2 + c2x + c3 metodou nejmenších čtverců.

Pro nalezení nejlepší aproximace ve smyslu nejmenších čtverců je třeba nejprve sestavitnormální rovnice. Pokud hledáme aproximaci ve tvaru ϕ(x) = c1ϕ1(x)+ c2ϕ2(x)+ c3ϕ3(x),kde c1, c2, c3 ∈ R jsou vhodné koeficienty, a v bodech xi máme předepsané hodnoty yi,přičemž i = 1, . . . , n, pak mají normální rovnice tvar

c1

n

∑i=1

(ϕ1(xi))2 + c2

n

∑i=1

ϕ1(xi) · ϕ2(xi) + c3

n

∑i=1

ϕ1(xi) · ϕ3(xi) =n

∑i=1

yi · ϕ1(xi)

c1

n

∑i=1

ϕ2(xi) · ϕ1(xi) + c2

n

∑i=1

(ϕ2(xi))2 + c3

n

∑i=1

ϕ2(xi) · ϕ3(xi) =n

∑i=1

yi · ϕ2(xi)

c1

n

∑i=1

ϕ3(xi) · ϕ1(xi) + c2

n

∑i=1

ϕ3(xi) · ϕ2(xi) + c3

n

∑i=1

(ϕ3(xi))2 =

n

∑i=1

yi · ϕ3(xi)

V našem případě je ϕ1(x) = x2, ϕ2(x) = x a ϕ3(x) = 1 (tj. funkce, která má v každém boděhodnotu 1). Nyní již soustavu normálních rovnic pro neznámé koeficienty c1, c2, c3 snadnozapíšeme.

51

Page 52: Numerická matematika Banka resenych prikladu

KAPITOLA 4. INTERPOLACE A APROXIMACE FUNKCÍ

c1

7

∑i=1

x4i + c2

7

∑i=1

x3i + c3

7

∑i=1

x2i =

7

∑i=1

yi · x2i

c1

7

∑i=1

x3i + c2

7

∑i=1

x2i + c3

7

∑i=1

xi =7

∑i=1

yi · xi

c1

7

∑i=1

x2i + c2

7

∑i=1

xi + c3

7

∑i=1

1 =7

∑i=1

yi

Vypočítáme jednotlivé součty:

7

∑i=1

x4i = 0.24 + 24 + 2.74 + 4.54 + 4.74 + 7.54 + 9.34 = 11611.7589

7

∑i=1

x3i = 0.23 + 23 + 2.73 + 4.53 + 4.73 + 7.53 + 9.33 = 1448.71

7

∑i=1

x2i = 0.22 + 22 + 2.72 + 4.52 + 4.72 + 7.52 + 9.32 = 196.41

7

∑i=1

xi = 0.2 + 2 + 2.7 + 4.5 + 4.7 + 7.5 + 9.3 = 30.9

7

∑i=1

yi · x2i = 0 · 0.22 + 3.4 · 22 + 3.8 · 2.72 + 5.5 · 4.52 + 6.4 · 4.72 + 6.6 · 7.54+

+ 7.1 · 9.34 = 1285.4577

∑i=1

yi · xi = 0 · 0.2 + 3.4 · 2 + 3.8 · 2.7 + 5.5 · 4.5 + 6.4 · 4.7 + 6.6 · 7.5+

+ 7.1 · 9.3 = 188.777

∑i=1

yi = 0 + 3.4 + 3.8 + 5.8 + 6.4 + 6.6 + 7.1 = 33.1

A dosadíme do soustavy lineárních rovnic:

11611.7589c1 + 1448.71c2 + 196.41c3 = 1285.4571448.71c1 + 196.41c2 + 30.9c3 = 188.77

196.41c1 + 30.9c2 + 7c3 = 33.1

Soustavu vyřešíme a dostaneme koeficienty c1 = −0.124, c2 = 1.9131, c3 = −0.2375.

Nalezená funkce má tvar: ϕ(x) = −0.124x2 + 1.9131x− 0.2375.

52

Page 53: Numerická matematika Banka resenych prikladu

KAPITOLA 4. INTERPOLACE A APROXIMACE FUNKCÍ

1 2 3 4 5 6 7 8 90

1

2

3

4

5

6

7zadana datanalezena funkce

Příklad 4.8: Aproximujte následující data

i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9

xi -2.1 -1.6 -0.3 0.2 0.9 1.4 1.9 2.5 3.1

yi 4.4 4 3.2 3.3 3.6 3.8 4.7 6 7.9

funkcí ϕ(x) = c1ex + c2x2 + c3 metodou nejmenších čtverců.

Pro nalezení nejlepší aproximace ve smyslu nejmenších čtverců je třeba nejprve sestavitnormální rovnice. Pokud hledáme aproximaci ve tvaru ϕ(x) = c1ϕ1(x)+ c2ϕ2(x)+ c3ϕ3(x),kde c1, c2, c3 ∈ R jsou vhodné koeficienty, a v bodech xi máme předepsané hodnoty yi,přičemž i = 1, . . . , n, pak mají normální rovnice tvar

c1

n

∑i=1

(ϕ1(xi))2 + c2

n

∑i=1

ϕ1(xi) · ϕ2(xi) + c3

n

∑i=1

ϕ1(xi) · ϕ3(xi) =n

∑i=1

yi · ϕ1(xi)

c1

n

∑i=1

ϕ2(xi) · ϕ1(xi) + c2

n

∑i=1

(ϕ2(xi))2 + c3

n

∑i=1

ϕ2(xi) · ϕ3(xi) =n

∑i=1

yi · ϕ2(xi)

c1

n

∑i=1

ϕ3(xi) · ϕ1(xi) + c2

n

∑i=1

ϕ3(xi) · ϕ2(xi) + c3

n

∑i=1

(ϕ3(xi))2 =

n

∑i=1

yi · ϕ3(xi)

V našem případě je ϕ1(x) = ex, ϕ2(x) = x2 a ϕ3(x) = 1 (tj. funkce, která má v každém boděhodnotu 1). Nyní již soustavu normálních rovnic pro neznámé koeficienty c1, c2, c3 snadnozapíšeme.

53

Page 54: Numerická matematika Banka resenych prikladu

KAPITOLA 4. INTERPOLACE A APROXIMACE FUNKCÍ

c1

9

∑i=1

e2xi + c2

9

∑i=1

x2i exi + c3

9

∑i=1

exi =9

∑i=1

yi · exi

c1

9

∑i=1

exi x2i + c2

9

∑i=1

x4i + c3

9

∑i=1

x2i =

9

∑i=1

yi · x2i

c1

9

∑i=1

exi + c2

9

∑i=1

x2i + c3

9

∑i=1

1 =9

∑i=1

yi

Vypočítáme jednotlivé součty:

9

∑i=1

e2xi = e−4.2 + e−3.2 + e−0.6 + e0.4 + e1.8 + e2.8 + e3.8 + e5 + e6.2 = 710.4541

9

∑i=1

x2i exi = −2.1 · e−2.1 − 1.6 · e−1.6 − 0.3 · e−0.3 + 0.2 · e0.2 + 0.9 · e0.9 +

+1.4 · e1.4 + 1.9 · e1.9 + 2.5 · e2.5 + 3.1 · e3.1 = 324.71199

∑i=1

exi = e−2.1 + e−1.6 + e−0.3 + e0.2 + e0.9 + e1.4 + e1.9 + e2.5 + e3.1 = 49.8677

9

∑i=1

x4i = (−2.1)4 + (−1.6)4 + (−0.3)4 + 0.24 + 0.94 + 1.44 + 1.94 + 2.54 +

+3.14 = 174.95589

∑i=1

x2i = (−2.1)2 + (−1.6)2 + (−0.3)2 + 0.22 + 0.92 + 1.42 + 1.92 +

+2.52 + 3.12 = 29.349

∑i=1

yi · exi = 4.4 · e−2.1 + 4 · e−1.6 + 3.2 · e−0.3 + 3.3 · e0.2 + 3.6 · e0.9 + 3.8 · e1.4 +

+4.7 · e1.9 + 6 · e2.5 + 7.9 · e3.1 = 311.89459

∑i=1

yi · x2i = 4.4 · (−2.1)2 + 4 · (−1.6)2 + 3.2 · (−0.3)2 + 3.3 · 0.22 + 3.6 · 0.92 +

+3.8 · 1.42 + 4.7 · 1.92 + 6 · 2.52 + 7.9 · 3.12 = 170.8149

∑i=1

yi = 4.4 + 4 + 3.2 + 3.3 + 3.6 + 3.8 + 4.7 + 6 + 7.9 = 40.9

A dosadíme do soustavy lineárních rovnic:

710.4541c1 + 324.7119c2 + 49.8677c3 = 311.8945324.7119c1 + 174.9558c2 + 29.34c3 = 170.814

49.8677c1 + 29.34c2 + 9c3 = 40.9

Soustavu vyřešíme a dostaneme koeficienty c1 = 0.0842 c2 = 0.3004 c3 = 3.0985.

54

Page 55: Numerická matematika Banka resenych prikladu

KAPITOLA 4. INTERPOLACE A APROXIMACE FUNKCÍ

Nalezená funkce má tvar ϕ(x) = 0.0842ex + 0.3004x2 + 3.0985.

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 3

3.5

4

4.5

5

5.5

6

6.5

7

7.5

zadana datanalezena funkce

Příklad 4.9: Aproximujte následující data

i=1 i=2 i=3 i=4 i=5 i=6

xi -5.2 -4.1 0.7 1.5 1.7 3.6

yi -12.3 1.2 -5.6 3.7 3.2 7.8

funkcí ϕ(x) = c1x3 + c2x2 + c3x + c4 metodou nejmenších čtverců.

Pro nalezení nejlepší aproximace ve smyslu nejmenších čtverců je třeba nejprve sestavit nor-mální rovnice. Ty bychom mohli v případě aproximace tvaru ϕ(x) = c1ϕ1(x) + c2ϕ2(x) +c3ϕ3(x) + c4ϕ4(x), kde c1, c2, c3, c4 ∈ R jsou vhodné koeficienty, sestavit analogickým způ-sobem, jako v předchozích úlohách. Pokud je koeficientů větší počet, je výhodné uchýlit sek „triku“, který zde popíšeme. Soustavu normálních rovnic totiž můžeme elegantně zapsatv maticovém tvaru. Předpokládejme, že v bodech xi máme předepsané hodnoty yi, přičemži = 1, . . . , n. Definujme následující objekty:

y = (y1, y2, . . . , yn)>

c = (c1, c2, c3, c4)>

X =

x31 x3

2 . . . x3n

x21 x2

2 . . . x2n

x1 x2 . . . xn

1 1 . . . 1

55

Page 56: Numerická matematika Banka resenych prikladu

KAPITOLA 4. INTERPOLACE A APROXIMACE FUNKCÍ

Pak můžeme soustavu normálních rovnic zapsat jako (není to samozřejmé, ale pravdivosttohoto tvrzení snadno ověříte roznásobením matic)

XX>c = Xy

Naším cílem je nalézt vektor c, čehož dosáhneme vynásobením rovnice zleva inverzní maticík XX>, tj.

(XX>)−1XX>c = (XX>)−1Xy

c = (XX>)−1Xy

Zbývá nám tedy v zásadě vytvořit matici X a dosadit do předchozího vzorce. Matice Xvypadá následovně (její hodnoty jsou zaokrouhleny na 2 desetinná místa)

X =

−140.61 −68.92 0.34 3.38 4.91 46.6627.04 16.81 0.49 2.25 2.89 12.96−5.20 −4.10 0.70 1.50 1.70 3.601.00 1.00 1.00 1.00 1.00 1.00

Dosazením do vzorce získáme vektor c = (0.22, 0.30,−1.87, 1.54)> (opět zaokrouhlujemena 2 desetinná místa).

Hledaná funkce je proto ϕ(x) = 0.22x3 + 0.30x2 − 1.87x + 1.54.

Na závěr ještě poznamenejme, že uvedený postup lze s drobnou obměnou (matice X měnírozměry) použít pro aproximaci polynomy libovolných řádů.

−5 −4 −3 −2 −1 0 1 2 3−12

−10

−8

−6

−4

−2

0

2

4

6

8 zadana datanalezena funkce

56

Page 57: Numerická matematika Banka resenych prikladu

KAPITOLA 4. INTERPOLACE A APROXIMACE FUNKCÍ

Příklad 4.10: Aproximujte následující data

i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8

xi 0.3 1.2 2.1 3.3 4.1 5.2 6.3 6.8

yi 21 7 3 6 13 40 55 61

funkcí ϕ(x) = aebx metodou nejmenších čtverců.

Zadaná funkce ϕ(x) není ve tvaru aϕ1(x) + bϕ2(x), jak jsme byli zvyklí z předchozích úloh.Rozdíl spočívá v tom, že funkce není v proměnných a, b lineární. Naším cílem stále zůstávánalézt hodnoty a, b ∈ R takové, aby s co možná nejmenší odchylkou platilo

aebxi = yi, pro i = 1, . . . , 8.

Dohodli jsme se, že minimální odchylkou budeme rozumět takovou, při níž je minimálnísoučet čtverců, tj. veličina

8

∑i=1

(aebxi − yi

)2.

Pokud bychom se pokusili obvyklým způsobem odvodit normální rovnice, nedostali bychomsoustavu lineárních rovnic (zkuste si samostatně!), ale soustavu velmi obtížně řešitelnou.Pomůžeme si proto určitým trikem. Rovnosti, kterých bychom rádi dosáhli, zlogaritmujeme:

ln(aebxi) = ln yi,

ln ebxi + ln a = ln yi,bxi + ln a = ln yi.

Tím jsme dostali ekvivalentní soubor podmínek. Pokud zavedeme nové proměnné c1 = b,c2 = ln a a zi = ln yi pro i = 1, . . . , 8, vypadají podmínky takto

c1xi + c2 = zi, kde i = 1, . . . , 8.

Tato nová úloha je ovšem již lineární! Jde v ní o to aproximovat data [xi, zi], i = 1, . . . , 8,funkcí tvaru ψ(x) = c1x + c2, přičemž c1c2 ∈ R. Toho můžeme docílit metodou nejmenšíchčtverců, jak jsme ji procvičovali v předchozích úlohách.Nyní již snadno zapíšeme příslušné normální rovnice:

c1

8

∑i=1

x2i + c2

8

∑i=1

xi =8

∑i=1

zi · xi,

c1

8

∑i=1

xi + c2

8

∑i=1

1 =8

∑i=1

zi.

Po vyčíslení jednotlivých součtů dostaneme (zaokrouhlujeme na 2 desetinná místa)

146.61c1 + 29.30c2 = 94.37,29.30c1 + 8.00c2 = 22.25.

57

Page 58: Numerická matematika Banka resenych prikladu

KAPITOLA 4. INTERPOLACE A APROXIMACE FUNKCÍ

Soustavu vyřešíme a dostaneme koeficienty c1 = 0.33, c2 = 1.58. Řešením pomocné úlohyje tedy funkce χ(x) = 0.33x + 1.58.Pro nalezení řešení původní úlohy se vrátíme zpět k původním neznámým a, b, kterézpětným dosazením snadno spočteme

c1 = b⇒ b = c1 = 0.33,

c2 = ln a⇒ a = ec2 = e1.58 = 4.87.

Výsledná funkce má tvar ϕ(x) = 4.87e0.33 x.

Poznámka: Výsledný postup je trikem i v tom smyslu, že nám obecně nedává nejlepšíaproximaci původní úlohy ve smyslu nejmenších čtverců. Tu spočíst by bylo velmi obtížné.Nalezená funkce je však rozumným a dostupným odhadem takové aproximace.

1 2 3 4 5 6

10

20

30

40

50

60zadana datanalezena funkce

58

Page 59: Numerická matematika Banka resenych prikladu

KAPITOLA

5

NUMERICKÉ INTEGROVÁNÍ ADERIVOVÁNÍ

Příklad 5.1: Vypočtěte integrál ∫ 3

−1ex2

dx

složenou lichoběžníkovou formulí pro n = 8.

Spočítáme si h, tj. velikost dílku při dělení intervalu 〈a, b〉 na 8 částí

h =b− a

n=

3− (−1)8

= 0.5 .

Do tabulky si zapíšeme body dělení x0, . . . , x8 a hodnotu integrované funkce v těchto bo-dech.

i xi yi = exi2

0 -1 2.71831 -0.5 1.2842 0 13 0.5 1.2844 1 2.71835 1.5 9.48776 2 54.59827 2.5 518.01288 3 8103.0839

59

Page 60: Numerická matematika Banka resenych prikladu

KAPITOLA 5. NUMERICKÉ INTEGROVÁNÍ A DERIVOVÁNÍ

Nakonec spočítáme přibližnou hodnotu integrálu:

I0.5 = h

(y0 + yn

2+

n−1

∑i=1

yi

)= 0.5

(y0 + y8

2+

7

∑i=1

yi

)=

= 0.5(

2.7183 + 8103.08392

+ 1.284 + 1 + 1.284 + 2.7183 + 9.4877+

+54.5982 + 518.0128) = 0.5(

8105.80222

+ 588.385)= 2320.64305.

Výsledek je I0.5 = 2320.64305.

Příklad 5.2:Vypočtěte integrál ∫ 3

−1ex2

dx

složenou lichoběžníkovou formulí se zadanou přesností ε = 10−3.

Počítáme integrál složenou lichoběžníkovou formulí pro n = 2, 4, 8, 16, . . . (tj. násobky čísla2), dokud je chyba větší než zadaná přesnost, tj. |Ih − I2h| > ε.

n h Ih |Ih − I2h|

2 2 8111.2388 —4 1 4111.2176 4000.02128 1

2 2320.6431 1790.574516 1

4 1688.9283 631.714832 1

8 1508.6402 180.288164 1

16 1461.7928 46.8474128 1

32 1449.9621 11.8307256 1

64 1446.9969 2.9652512 1

128 1446.2551 0.74181024 1

256 1446.0696 0.18552048 1

512 1446.0232 0.04644096 1

1024 1446.0116 0.01168192 1

2048 1446.0087 0.002916384 1

4096 1446.0080 0.0007

ε = 10−3 = 0.001

> 0.001> 0.001> 0.001> 0.001> 0.001> 0.001> 0.001> 0.001> 0.001> 0.001> 0.001> 0.001≤ 0.001

Výsledek: ∫ 3

−1ex2

dx = 1446.008± 0.001.

60

Page 61: Numerická matematika Banka resenych prikladu

KAPITOLA 5. NUMERICKÉ INTEGROVÁNÍ A DERIVOVÁNÍ

Příklad 5.3: Vypočtěte integrál

∫ 2

0arctg2(x) + x + 1 dx

složenou Simpsonovou formulí pro n = 16.

Spočítáme si h velikost dílků dělení intervalu 〈a, b〉,

h =b− a

n=

2− 016

= 0.125 .

Do tabulky si zapíšeme body dělení x0, . . . , x16 a hodnotu integrované funkce v těchto bo-dech.

i xi yi = arctg2(xi) + xi + 1

0 0 11 0.1250 1.14052 0.2500 1.31003 0.3750 1.50374 0.5000 1.71505 0.6250 1.93706 0.7500 2.16417 0.8750 2.39178 1 2.6169

i xi yi = arctg2(xi) + xi + 1

9 1.1250 2.837610 1.2500 3.052911 1.3750 3.262412 1.5000 3.465913 1.6250 3.663614 1.7500 3.856015 1.8750 4.043216 2 4.2258

Nakonec spočítáme přibližnou hodnotu integrálu:

I0.125 =h3(y0 + yn + 4 · SL + 2 · SS) =

0.1253

(y0 + y16 + 4 · (y1 + y3 + y5 +

+y7 + y9 + y11 + y13 + y15) + 2(y2 + y4 + y6 + y8 + y10 + y12 + y14) =

= 0.0417 · (5.2258 + 4 · 20.7797 + 2 · 18.1808) = 5.2002.

Výsledek: I0.125 = 5.2002.

Příklad 5.4:Vypočtěte integrál ∫ 5

0arctg2(x)− 2x dx

složenou Simpsonovou formulí se zadanou přesností ε = 10−8.

61

Page 62: Numerická matematika Banka resenych prikladu

KAPITOLA 5. NUMERICKÉ INTEGROVÁNÍ A DERIVOVÁNÍ

Počítáme integrál složenou Simpsonovou formulí pro n = 2, 4, 8, 16, . . ., dokud je chybavětší než zadaná přesnost, tj. |Ih − I2h| > ε.

n h Ih |Ih − I2h|

2 2.5 -18.7055080634 —4 1.25 -18.8342068359 0.12869877258 0.625 -18.8981149073 0.0639080714

16 0.3125 -18.9021335763 0.004018669032 0.15625 -18.9021508072 0.000017230964 0.078125 -18.9021508687 0.0000000615

128 0.0390625 -18.9021508726 0.0000000039

ε = 10−3 = 0.001

> 10−8

> 10−8

> 10−8

> 10−8

> 10−8

≤ 10−8

Výsledek: ∫ 5

0arctg2(x)− 2x dx = −18.90215087± 10−8.

Příklad 5.5: Pomocí dvojného přepočtu s extrapolací vypočtěte přibližnou hodnotu inte-grálu ∫ 2

1

ln(1 + x)1 + cos(x)

dx

s přesností ε = 10−6. Použijte složenou lichoběžníkovou formuli.

Označme přibližnou hodnotu integrálu spočtenou pomocí složené lichoběžníkové formulepři délce kroku h jako I(h). Metoda dvojného přepočtu s extrapolací nám pro případsloženého lichoběžníkového pravidla dává následující vzorce pro odhad integrálu a odhadchyby při délce kroku h:

I1(h) = I(h) +I(h)− I(2h)

3a E(h) =

I(h)− I(2h)3

.

Pro n = 2, 4, 8, 16, . . . postupně počítáme pro jednotlivé kroky hodnoty I, pomocí nich dáleurčíme hodnoty E. Ve výpočtu pokračujeme, dokud je odhady chyby větší než zadaná přes-nost, tj. |E(h)| > ε. Nakonec spočteme hodnotu I1, kterou prohlásíme za odhad integrálu.Poznamenejme, že výhodou metody dvojného přepočtu s extrapolací oproti standardnímupostupu je její rychlost.

62

Page 63: Numerická matematika Banka resenych prikladu

KAPITOLA 5. NUMERICKÉ INTEGROVÁNÍ A DERIVOVÁNÍ

n h I(h) |E(h)|

2 0.5 1.01079488 —4 0.25 0.96728553 0.014503128 0.125 0.95599330 0.00376408

16 0.0625 0.95314108 0.0009507432 0.03125 0.95242615 0.0002383164 0.015625 0.95224729 0.00005962

128 0.0078125 0.95220257 0.00001491256 0.00390625 0.95219139 0.00000373512 0.001953125 0.95218860 0.00000093

ε = 10−6 = 0.000001

> 0.000001> 0.000001> 0.000001> 0.000001> 0.000001> 0.000001> 0.000001≤ 0.000001

Nyní spočteme závěrečnou zpřesněnou aproximaci:

I1(h) = 0.95218860 +0.95218860− 0.95219139

3= 0.95218767.

Výsledek: ∫ 2

1

ln(1 + x)1 + cos x

dx = 0.952188± 10−6.

Příklad 5.6: Pomocí dvojného přepočtu s extrapolací vypočtěte přibližnou hodnotu inte-grálu ∫ 0.8

−1

x3 + xcos2 x

dx

s přesností ε = 10−7. Použijte složenou Simpsonovu formuli.

Označme přibližnou hodnotu integrálu spočtenou pomocí složené Simpsonovy formulepři délce kroku h jako I(h). Metoda dvojného přepočtu s extrapolací nám pro případ slože-ného lichoběžníkového pravidla dává následující extrapolační vzorce pro odhad integrálua odhad chyby při délce kroku h:

I1(h) = I(h) +I(h)− I(2h)

15a E(h) =

I(h)− I(2h)15

.

Pro n = 2, 4, 8, 16, . . . postupně počítáme pro jednotlivé kroky hodnoty I, pomocí nich dáleurčíme hodnoty E. Ve výpočtu pokračujeme, dokud je odhady chyby větší než zadaná přes-nost, tj. |E(h)| > ε. Nakonec spočteme hodnotu I1, kterou prohlásíme za odhad integrálu.Poznamenejme, že výhodou metody dvojného přepočtu s extrapolací oproti standardnímupostupu je její rychlost.Je užitečné uvědomit si, že algoritmus nemusíme začít u n = 2, ale libovolné vyšší mocniny2. To má za následek nižší počet kroků vedoucí k dosažení potřebné přesnosti. Začněmetedy například s n = 8.

63

Page 64: Numerická matematika Banka resenych prikladu

KAPITOLA 5. NUMERICKÉ INTEGROVÁNÍ A DERIVOVÁNÍ

n h I(h) |E(h)|

8 0.2250 -0.89202663 —16 0.1125 -0.88094879 0.0007385232 0.0563 -0.87998697 0.0000641264 0.0281 -0.87991974 0.00000448

128 0.0140 -0.87991541 0.00000029256 0.0070 -0.87991513 0.00000002

ε = 10−7 = 0.0000001

> 10−7

> 10−7

> 10−7

> 10−7

≤ 10−7

Nyní spočteme závěrečnou zpřesněnou aproximaci:

I1(h) = −0.87991513 +−0.87991513− (−0.87991541)

15= −0.87991511.

Výsledek: ∫ 0.8

−1

x3 + xcos2 x

dx = −0.8799151± 10−7.

Poznámka: Protože je integrand f (x) = x3+xcos2 x lichou funkcí, jsou integrály typu

∫ a−a f (x)dx

nulové pro libovolné a ∈ R. Před samotným numerickým výpočtem jsme mohli využít tétovlastnosti (společně s aditivitou integrálu vůči integračním mezím):

∫ 0.8

−1

x3 + xcos2 x

dx =∫ −0.8

−1

x3 + xcos2 x

dx +∫ 0.8

−0.8

x3 + xcos2 x

dx =∫ 0.8

−1

x3 + xcos2 x

dx + 0 =∫ 0.8

−1

x3 + xcos2 x

dx

a integrovat funkci na menším intervalu. Požadované přesnosti bychom pak dosáhli oněkolik kroků dříve.

Příklad 5.7: Pro funkcif (x) = x3 − 5x

vypočtěte přibližně její první derivaci na intervalu 〈1, 2〉 pomocí vzorce

f ′(x) ≈ f (x + h)− f (x− h)2h

s krokem h = 0.2.

Pro přibližný výpočet derivace s krokem h = 0.25 nejdříve určíme uzly xi = ih, i = 0, . . . , 8a v nich vypočítáme funkční hodnoty fi = f (xi), viz prní tři sloupce tabulky:Vzorec pro přibližný výpočet derivace můžeme zapsat ve tvaru

f ′(xi) ≈fi+1 − fi−1

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

64

Page 65: Numerická matematika Banka resenych prikladu

KAPITOLA 5. NUMERICKÉ INTEGROVÁNÍ A DERIVOVÁNÍ

který nám umožní spočítat přibližné hodnoty derivace ve všech vnitřních uzlech.

f ′(1.2) ≈ 1.43 − 5 · 1.4− (13 − 5 · 1)2 · 0.2

= −0.64,

f ′(1.4) ≈ 1.63 − 5 · 1.6− (1.23 − 5 · 1.2)2 · 0.2

= 0.92,

f ′(1.6) ≈ 1.83 − 5 · 1.8− (1.43 − 5 · 1.4)2 · 0.2

= 2.72,

f ′(1.8) ≈ 23 − 5 · 2− (1.63 − 5 · 1.6)2 · 0.2

= 4.76.

Přibližné hodnoty derivace zapíšeme do tabulky.

xi 1 1.2 1.4 1.6 1.8 2

f ′(xi) – -0.64 0.92 2.72 4.76 –

Příklad 5.8: Pro funkcif (x) = sin x2 +

arctg x1 + x4

vypočtěte přibližně její první derivaci na intervalu 〈0, 2〉 pomocí vzorce

f ′(x) ≈ f (x + h)− f (x− h)2h

s krokem h = 0.25 a h = 0.1. Výsledky porovnejte s hodnotami přesně vypočítanéderivace.

Přesná derivace je určena vzorcem

f ′(x) = 2x cos x2 +1+x4

1+x2 − 4x3 arctg x

(1 + x4)2 .

Pro přibližný výpočet derivace s krokem h = 0.25 nejdříve určíme uzly xi = ih, i = 0, . . . , 8a v nich vypočítáme funkční hodnoty fi = f (xi), viz prní tři sloupce tabulky:

xi fi f [xi+1, xi−1] f ′(xi) ei

i=0 0.00 0.0000 - 1.0000 -i=1 0.25 0.3065 1.3676 1.4213 0.0538i=2 0.50 0.6838 1.4313 1.5165 0.0852i=3 0.75 1.0221 1.1008 1.1284 0.0276i=4 1.00 1.2342 0.4764 0.5452 0.0688i=5 1.25 1.2603 −0.5880 −0.4570 0.1310i=6 1.50 0.9402 −2.1600 −2.1948 0.0347i=7 1.75 0.1803 −3.2637 −3.6746 0.4109i=8 2.00 −0.6917 - −2.7254 -

Vzorec pro přibližný výpočet derivace můžeme zapsat ve tvaru

f ′(xi) ≈fi+1 − fi−1

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

65

Page 66: Numerická matematika Banka resenych prikladu

KAPITOLA 5. NUMERICKÉ INTEGROVÁNÍ A DERIVOVÁNÍ

který nám umožní spočítat přibližné hodnoty derivace ve všech vnitřních uzlech, např.

f ′(0.75) ≈ 1.2342− 0.68382 · 0.25

= 1.1008,

viz čtvrtý sloupec tabulky. Pátý sloupec obsahuje přesné hodnoty derivace, které jsou vposledním sloupci porovnány s hodnotami přibližnými

ei = | f [xi+1, xi−1]− f ′(xi)|.

Pro h = 0.1 je celý postup analogický, dostaneme však přesnější hodnoty, jak ukazujínásledující obrázky.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−4

−3

−2

−1

0

1

2

h=0.25

derivace

aproximace derivace

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−4

−3

−2

−1

0

1

2

h=0.1

derivace

aproximace derivace

Příklad 5.9: Pro funkcif (x) = sin x2 + arctg x

vypočtěte přibližně její druhou derivaci na intervalu 〈0, 2〉 pomocí vzorce

f ′′(x) ≈ f (x + h)− 2 f (x) + f (x− h)h2

s krokem h = 0.25 a h = 0.1. Výsledky porovnejte s přesnými hodnotami.

Přesná druhá derivace je určena vzorcem

f ′′(x) = 2 cos x2 − 4x2 sin x2 − 2x(1 + x2)2 .

Pro přibližný výpočet s krokem h = 0.25 nejdříve určíme uzly xi = ih, i = 0, . . . , 8 a v nichvypočítáme funkční hodnoty fi = f (xi), viz prní tři sloupce tabulky:

66

Page 67: Numerická matematika Banka resenych prikladu

KAPITOLA 5. NUMERICKÉ INTEGROVÁNÍ A DERIVOVÁNÍ

xi fi 2 f [xi+1, xi, xi−1] f ′′(xi) ei

i=0 0.00 0.0000 - 2.0000 -i=1 0.25 0.3074 1.5388 1.5376 0.0012i=2 0.50 0.7111 0.9942 1.0504 0.0562i=3 0.75 1.1768 −0.2510 −0.1225 0.1285i=4 1.00 1.6269 −2.8946 −2.7853 0.1093i=5 1.25 1.8960 −6.4689 −6.6139 0.1450i=6 1.50 1.7609 −7.9208 −8.5430 0.6222i=7 1.75 1.1307 −2.4017 −3.1737 0.7720i=8 2.00 0.3503 - 10.6416 -

Vzorec pro přibližný výpočet druhé derivace můžeme zapsat ve tvaru

f ′′(xi) ≈fi+1 − 2 fi + fi−1

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

který nám umožní spočítat přibližné hodnoty derivace ve všech vnitřních uzlech, např.

f ′′(0.75) ≈ 1.626869− 2 · 1.176804 + 0.7110520.252 = −0.2510,

viz čtvrtý sloupec tabulky. Pátý sloupec obsahuje přesné hodnoty druhé derivace, kteréjsou v posledním sloupci porovnány s hodnotami přibližnými

ei = |2 f [xi+1, xi, xi−1]− f ′′(xi)|.

Pro h = 0.1 je celý postup analogický, dostaneme však přesnější hodnoty, jak ukazujínásledující obrázky.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−10

−5

0

5

10

15

h=0.25

druha derivace

aproximace druhe derivace

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−10

−5

0

5

10

15

h=0.1

druha derivace

aproximace druhe derivace

67

Page 68: Numerická matematika Banka resenych prikladu

KAPITOLA

6

OBYČEJNÉ DIFERENCIÁLNÍ ROVNICE:POČÁTEČNÍ ÚLOHY

Příklad 6.1: Řešte diferenciální rovnici s počáteční podmínkou

y′ = (x + y)2, y(0) = 0,

Eulerovou metodou na intervalu 〈0, 1.5〉 s předepsaným krokem h = 0.25.

Nejprve si spočítáme počet dílků dělení intervalu 〈a, b〉

n =b− a

h=

1.5− 00.25

= 6 .

Z počáteční podmínky víme, že x0 = 0, , y0 = 0.

Spočítáme x1, y1 Eulerovou metodou

x1 = x0 + h = 0 + 0.25 = 0.25,y1 = y0 + h(x0 + y0)

2 = 0 + 0.25(0 + 0)2 = 0.

Dále spočítáme x2, y2, x3, y3

x2 = x1 + h = 0.25 + 0.25 = 0.5,y2 = y1 + h(x1 + y1)

2 = 0 + 0.25(0.25 + 0)2 = 0.0156,x3 = x2 + h = 0.5 + 0.25 = 0.75,y3 = y2 + h(x2 + y2)

2 = 0.0156 + 0.25(0.5 + 0.0156)2 = 0.0821.

Další přibližné hodnoty řešení x4, y4, . . . , x6, y6 počítáme obdobně.

68

Page 69: Numerická matematika Banka resenych prikladu

KAPITOLA 6. OBYČEJNÉ DIFERENCIÁLNÍ ROVNICE: POČÁTEČNÍ ÚLOHY

Nalezli jsme přibližné hodnoty řešení:

xi 0 0.25 0.5 0.75 1 1.25 1.5

yi 0 0 0.0156 0.0821 0.2552 0.6491 1.5507

0 0.5 1 1.50

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

Příklad 6.2: Řešte diferenciální rovnici s počáteční podmínkou

y′ =1

x2 + 1− 0.1 y, y(−2) = −1,

Eulerovou metodou na intervalu 〈−2, 3〉 s předepsaným krokem h = 0.5.

Nejprve si spočítáme počet dílků dělení intervalu 〈a, b〉

n =b− a

h=

3− (−2)0.5

= 10 .

Z počáteční podmínky víme, že x0 = −2, , y0 = −1.

Spočítáme x1, y1 Eulerovou metodou:

x1 = x0 + h = −2 + 0.5 = −1.5,

y1 = y0 + h

(1

x20 + 1

− 0.1 y0

)= −1 + 0.5

(1

(−2)2 + 1− 0.1 (−1)

)= −0.85.

69

Page 70: Numerická matematika Banka resenych prikladu

KAPITOLA 6. OBYČEJNÉ DIFERENCIÁLNÍ ROVNICE: POČÁTEČNÍ ÚLOHY

Dále spočítáme x2, y2, x3, y3

x2 = x1 + h = −1.5 + 0.5 = −1,

y2 = y1 + h

(1

x21 + 1

− 0.1 y1

)= −0.85 + 0.5

(1

(−1.5)2 + 1− 0.1 (−0.85)

)=

= −0.6537,x3 = x2 + h = −1 + 0.5 = −0.5,

y3 = y1 + h

(1

x22 + 1

− 0.1 y2

)= −0.6537 + 0.5

(1

(−1)2 + 1− 0.1 (−0.6537)

)=

= −0.371.

Další přibližné hodnoty řešení x4, y4, . . . , x10, y10 počítáme obdobně.

Nalezli jsme přibližné hodnoty řešení:

xi -2 -1.5 -1 -0.5 0

yi -1 -0.85 -0.6537 -0.371 0.0476

0.5 1 1.5 2 2.5 3

0.5452 0.9179 1.122 1.2198 1.2588 1.2648

−1 −0.5 0 0.5 1 1.5 2 2.5 3−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

70

Page 71: Numerická matematika Banka resenych prikladu

KAPITOLA 6. OBYČEJNÉ DIFERENCIÁLNÍ ROVNICE: POČÁTEČNÍ ÚLOHY

Příklad 6.3: Řešte diferenciální rovnici s počáteční podmínkou

y′ = (x + y)2 , y(0) = 0,

metodou Runge–Kutta 4. řádu na intervalu 〈0, 1.5〉 s předepsaným krokem h = 0.25.

Nejprve si spočítáme počet dílků dělení intervalu 〈a, b〉

n =b− a

h=

1.5− 00.25

= 6 .

Z počáteční podmínky víme, že x0 = 0, , y0 = 0.

Spočítáme x1, y1 Runge–Kutta 4. řádu

k1 = h · f (x0, y0) = h · (x0 + y0)2 = 0.25 · (0 + 0)2 = 0,

k2 = h · f(

x0 +h2

, y0 +k1

2

)= h ·

(x0 +

h2+ y0 +

k1

2

)2

=

= 0.25 ·(

0 +0.25

2+ 0 +

02

)2

= 0.0039,

k3 = h · f(

x0 +h2

, y0 +k2

2

)= h ·

(x0 +

h2+ y0 +

k2

2

)2

=

= 0.25 ·(

0 +0.25

2+ 0 +

0.00392

)2

= 0.0040,

k4 = h · f (x0 + h, y0 + k3) = h · (x0 + h + y0 + k3)2 =

= 0.25 · (0 + 0.25 + 0 + 0.0040)2 = 0.0161,x1 = x0 + h = 0 + 0.25 = 0.25

y1 = y0 +16· (k1 + 2 · k2 + 2 · k3 + k4) =

= 0 +16· (0 + 2 · 0.0039 + 2 · 0.0040 + 0.0161) = 0.0053.

Dále spočítáme x2, y2

k1 = h · f (x1, y1) = h · (x1 + y1)2 = 0.25 · (0.25 + 0.0053)2 = 0.0163,

k2 = h · f(

x1 +h2

, y1 +k1

2

)= h ·

(x1 +

h2+ y1 +

k1

2

)2

=

= 0.25 ·(

0.25 +0.25

2+ 00053 +

0.01632

)2

= 0.0377,

k3 = h · f(

x1 +h2

, y1 +k2

2

)= h ·

(x1 +

h2+ y1 +

k2

2

)2

=

= 0.25 ·(

0.25 +0.25

2+ 0.0053 +

0.03772

)2

= 0.0398,

71

Page 72: Numerická matematika Banka resenych prikladu

KAPITOLA 6. OBYČEJNÉ DIFERENCIÁLNÍ ROVNICE: POČÁTEČNÍ ÚLOHY

k4 = h · f (x1 + h, y1 + k3) = h · (x1 + h + y1 + k3)2 =

= 0.25 · (0.25 + 0.25 + 0.0053 + 0.0398)2 = 0.0743,x2 = x1 + h = 0.25 + 0.25 = 0.5,

y2 = y1 +16· (k1 + 2 · k2 + 2 · k3 + k4) =

= 0.0053 +16· (0.0163 + 2 · 0.0377 + 2 · 0.0398 + 0.0743) = 0.0463.

Další přibližné hodnoty řešení x3, y3, . . . , x6, y6 počítáme obdobně.

Nalezli jsme přibližné hodnoty řešení:

xi 0 0.25 0.5 0.75 1 1.25 1.5

yi 0 0.0053 0.0463 0.1816 0.5572 1.7534 10.6766

0 0.5 1 1.50

2

4

6

8

10

12

Příklad 6.4: Řešte diferenciální rovnici s počáteční podmínkou

y′ = sin(x) · y− x3 + y, y(1) = 0,

Rungeovou–Kuttovou metodou na intervalu 〈1, 2〉 s předepsaným krokem h = 0.2.

Nejprve si spočítáme počet dílků dělení intervalu 〈a, b〉

n =b− a

h=

2− 10.2

= 5 .

Z počáteční podmínky víme, že x0 = 1, , y0 = 0.

72

Page 73: Numerická matematika Banka resenych prikladu

KAPITOLA 6. OBYČEJNÉ DIFERENCIÁLNÍ ROVNICE: POČÁTEČNÍ ÚLOHY

Spočítáme x1, y1 Runge–Kutta 4. řádu

k1 = h · f (x0, y0) = h ·(

sin (x0) · y0 − x30 + y0

)= 0.2 ·

(sin (1) · 0− 13 + 0

)=

= −0.2,

k2 = h · f(

x0 +h2

, y0 +k1

2

)=

= h ·(

sin(

x0 +h2

)·(

y0 +k1

2

)−(

x0 +h2

)3

+ y0 +k1

2

)=

= 0.2 ·(

sin(

1 +0.22

)·(

0 +−0.2

2

)−(

1 +0.22

)3

+ 0 +−0.2

2

)= −0.304,

k3 = h · f(

x0 +h2

, y0 +k2

2

)=

= h ·(

sin(

x0 +h2

)·(

y0 +k2

2

)−(

x0 +h2

)3

+ y0 +k2

2

)=

= 0.2 ·(

sin(

1 +0.22

)·(

0 +−0.304

2

)−(

1 +0.22

)3

+ 0 +−0.304

2

)=

= −0.3237,k4 = h · f (x0 + h, y0 + k3) =

= h ·(

sin (x0 + h) · (y0 + k3)− (x0 + h)3 + y0 + k3

)=

= 0.2 ·(

sin (1 + 0.2) · (0− 0.3237)− (1 + 0.2)3 + 0− 0.3237)= −0.4707,

x1 = x0 + h = 1 + 0.2 = 1.2,

y1 = y0 +16· (k1 + 2 · k2 + 2 · k3 + k4) =

= 0 +16· (−0.2 + 2 · (−0.304) + 2 · (−0.3237)− 0.4707) = −0.321.

Dále spočítáme x2, y2

k1 = h · f (x1, y1) = h ·(

sin (x1) · y1 − x31 + y1

)=

= 0.2 ·(

sin (1.2) · (−0.321)− 13 − 0.321)=

= −0.4696,

k2 = h · f(

x1 +h2

, y1 +k1

2

)=

= h ·(

sin(

x1 +h2

)·(

y1 +k1

2

)−(

x1 +h2

)3

+ y1 +k1

2

)=

= 0.2 ·(

sin(

1.2 +0.22

)·(−0.321 +

−0.46962

)−(

1.2 +0.22

)3

− 0.321+

+−0.4696

2

)= −0.6577,

73

Page 74: Numerická matematika Banka resenych prikladu

KAPITOLA 6. OBYČEJNÉ DIFERENCIÁLNÍ ROVNICE: POČÁTEČNÍ ÚLOHY

k3 = h · f(

x1 +h2

, y1 +k2

2

)=

= h ·(

sin(

x1 +h2

)·(

y1 +k2

2

)−(

x1 +h2

)3

+ y1 +k2

2

)=

= 0.2 ·(

sin(

1.2 +0.22

)·(−0.321 +

−0.65772

)−(

1 +0.22

)3

+ 0+

+−0.6577

2

)= −0.6946,

k4 = h · f (x1 + h, y1 + k3) = h ·(

sin (x1 + h) · (y1 + k3)− (x1 + h)3 + y1 + k3

)=

= 0.2 ·(

sin (1 + 0.2) · (0− 0.3237)− (1 + 0.2)3 + 0− 0.3237)= −0.9521,

x2 = x1 + h = 1.2 + 0.2 = 1.4,

y2 = y1 +16· (k1 + 2 · k2 + 2 · k3 + k4) =

= −0.321 +16· (−0.4696 + 2 · (−0.6577) + 2 · (−0.6946)− 0.9521) = −1.0087.

Další přibližné hodnoty řešení x3, y3, . . . , x5, y5 počítáme obdobně.

Nalezli jsme přibližné hodnoty řešení:

xi 1 1.2 1.4 1.6 1.8 2

yi 0 -0.3210 -1.0087 -2.3257 -4.6586 -8.5351

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2−9

−8

−7

−6

−5

−4

−3

−2

−1

0

74

Page 75: Numerická matematika Banka resenych prikladu

KAPITOLA 6. OBYČEJNÉ DIFERENCIÁLNÍ ROVNICE: POČÁTEČNÍ ÚLOHY

Příklad 6.5: Řešte diferenciální rovnici s počáteční podmínkou

y′ =y2 ln(x)− y

x, y(1) = 1,

Eulerovou metodou i Rungeovou–Kuttovou metodou na intervalu 〈1, 2〉 s předepsanýmkrokem h = 0.2. Řešení porovnejte.

Nejprve spočítáme diferenciální rovnice Eulerovou metodou. Spočítáme počet dílků děleníintervalu 〈a, b〉

n =b− a

h=

2− 10.2

= 5 .

Z počáteční podmínky víme, že x0 = 1, , y0 = 1.

Spočítáme x1, y1 Eulerovou metodou

x1 = x0 + h = 1 + 0.2 = 1.2,

y1 = y0 + hy2

0 ln x0 − y0

x0= 1 + 0.2

12 ln 1− 11

= 0.8.

Dále spočítáme x2, y2, x3, y3

x2 = x1 + h = 1.2 + 0.2 = 1.4,

y2 = y1 + hy2

1 ln x1 − y1

x1= 0.8 + 0.2

0.82 ln 1.2− 0.81.2

= 0.6861,x3 = x2 + h = 1.4 + 0.2 = 1.6,

y3 = y2 + hy2

2 ln x2 − y2

x2= 0.6861 + 0.2

0.68612 ln 1.4− 0.68611.4

= 0.6107,

Další přibližné hodnoty řešení x4, y4, x5, y5 počítáme obdobně.Nalezli jsme přibližné hodnoty řešení:

xi 1 1.2 1.4 1.6 1.8 2

yi 1 0.8 0.6861 0.6107 0.5563 0.5147

Nyní vyřešíme diferenciální rovnice Rungeovou–Kuttovou metodou. Nejprve si spočítámepočet dílků dělení intervalu 〈a, b〉:

n =b− a

h=

2− 10.2

= 5 .

Z počáteční podmínky víme, že x0 = 1, , y0 = 1.

75

Page 76: Numerická matematika Banka resenych prikladu

KAPITOLA 6. OBYČEJNÉ DIFERENCIÁLNÍ ROVNICE: POČÁTEČNÍ ÚLOHY

Spočítáme x1, y1 Runge–Kutta 4. řádu:

k1 = h · f (x0, y0) = h ·y2

0 ln(x0)− y0

x0= 0.2 · 12 ln(1)− 1

1= −0.2

k2 = h · f(

x0 +h2

, y0 +k1

2

)= h ·

(y0 +

k12

)2ln(

x0 +h2

)−(

y0 +k12

)

x0 +h2

=

= 0.2 ·(1− 0.2

2

)2ln(1 + 0.2

2

)−(1− 0.2

2

)

1 + 0.22

= −0.1496

k3 = h · f(

x0 +h2

, y0 +k2

2

)= h ·

(y0 +

k22

)2ln(

x0 +h2

)−(

y0 +k22

)

x0 +h2

=

= 0.2 ·

(1− 0.1496

2

)2ln(1 + 0.2

2

)−(

1− 0.14962

)

1 + 0.22

= −0.1534

k4 = h · f (x0 + h, y0 + k3) = h · (y0 + k3)2 ln (x0 + h)− (y0 + k3)

x0 + h=

= 0.2 · (1− 0.1534)2 ln (1 + 0.2)− (1− 0.1534)1 + 0.2

= −0.1193

x1 = x0 + h = 1 + 0.2 = 1.2

y1 = y0 +16· (k1 + 2 · k2 + 2 · k3 + k4) =

= 1 +16· (−0.2 + 2 · (−0.1496) + 2 · (−0.1534)− 0.1193) = 0.8458

Dále spočítáme x2, y2:

k1 = h · f (x1, y1) = h ·y2

1 ln(x1)− y1

x1= 0.2 · 0.84582 ln(1.2)− 0.8458

1.2= −0.1192

k2 = h · f(

x1 +h2

, y1 +k1

2

)= h ·

(y1 +

k12

)2ln(

x1 +h2

)−(

y1 +k12

)

x1 +h2

=

= 0.2 ·

(0.8458− 0.1192

2

)2ln(1.2 + 0.2

2

)−(

0.8458− 0.11922

)

1.2 + 0.22

= −0.0960

k3 = h · f(

x1 +h2

, y1 +k2

2

)= h ·

(y1 +

k22

)2ln(

x1 +h2

)−(

y1 +k22

)

x1 +h2

=

= 0.2 ·(0.8458− 0.0960

2

)2ln(1.2 + 0.2

2

)−(0.8458− 0.0960

2

)

1.2 + 0.22

= −0.0970

76

Page 77: Numerická matematika Banka resenych prikladu

k4 = h · f (x1 + h, y1 + k3) = h · (y1 + k3)2 ln (x1 + h)− (y1 + k3)

x1 + h=

= 0.2 · (0.8458− 0.0970)2 ln (1.2 + 0.2)− (0.8458− 0.0970)1.2 + 0.2

= −0.08

x2 = x1 + h = 1.2 + 0.2 = 1.4

y2 = y1 +16· (k1 + 2 · k2 + 2 · k3 + k4) =

= 0.8458 +16· (−0.1192 + 2 · (−0.0960) + 2 · (−0.0970)− 0.08) = 0.7482

Další přibližné hodnoty řešení x3, y3, . . . , x5, y5 počítáme obdobně.Nalezli jsme přibližné hodnoty řešení:

xi 1 1.2 1.4 1.6 1.8 2

yi 1 0.8458 0.7482 0.6803 0.6298 0.5906

Nalezli jsme přibližné hodnoty řešení:

xi 1 1.2 1.4 1.6 1.8 2

Euler yi 1 0.8 0.6861 0.6107 0.5563 0.5147

RK yi 1 0.8458 0.7482 0.6803 0.6298 0.5906

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 20.4

0.5

0.6

0.7

0.8

0.9

1

Euler

RK

77

Page 78: Numerická matematika Banka resenych prikladu

LITERATURA

Základní doporučená literatura

[1] GILAT, Amos a Vish SUBRAMANIAM. Numerical methods for engineers and scientists:an introduction with applications using MATLAB. 2nd ed. Hoboken, N.J.: Wiley, 2011, xvi,495 p. ISBN 9780470565155.

[2] KUČERA, Radek. Numerické metody. 1. vyd. Ostrava: VŠB - Technická univerzita, 2006,132 s. ISBN 80-248-1198-7. Dostupné z: http://mdg.vsb.cz/portal/nm/nm.pdf.

[3] WOODFORD, Chris a Chris PHILLIPS. Numerical methods with worked examples: Matlabedition. 2nd ed. New York: Springer, 2012, x, 256 p. ISBN 9789400713666.

Doplňková literatura

[4] FIEDLER, Miroslav. Speciální matice a jejich použití v numerické matematice. 1. vyd. Praha:Státní nakladatelství technické literatury, 1981, 266 s. Teoretická knižnice inženýra.

[5] HAMMING, R. Numerical methods for scientists and engineers. 2nd ed. New York: Dover,1973, ix, 721 p. ISBN 0486652416.

[6] MÍKA, Stanislav. Numerické metody algebry. 2., nezm. vyd. Praha: SNTL, 1985, 169 s.Matematika pro vysoké školy technické.

[7] PŘIKRYL, Petr. Numerické metody matematické analýzy: vysokoškolská příručka pro vysokéškoly technické. 2. nezm. vyd. Praha: Státní nakladatelství technické literatury, 1988, 187s. Matematika pro vysoké školy technické.

[8] RALSTON, Anthony. Základy numerické matematiky: příručka pro univerzity ČSR. 2. čes.vyd. Praha: Academia, 1978, 635, [1] s.

78

Page 79: Numerická matematika Banka resenych prikladu

[9] SÜLI, Endre a David MAYERS. An introduction to numerical analysis. New York:Cambridge University Press, 2003, x, 433 p. ISBN 0521007941.

[10] TEODORESCU, P, Nicolae-Doru STANESCU a Nicolae PANDREA. Numerical analysiswith applications in mechanics and engineering. Hoboken, NJ: Wiley, 2013, xi, 633 pages.ISBN 9781118077504.

[11] WALLISCH, Pascal. MATLAB for neuroscientists: an introduction to scientific computing inMATLAB. Burlington: Elsevier, 2009, xiv, 384 s., [8] s. obr. příl. ISBN 978-0-12-374551-4.

[12] VITÁSEK, Emil. Numerické metody. Praha: SNTL, 1987.

79

Page 80: Numerická matematika Banka resenych prikladu

Název: Numerická matematika: Banka řešených příkladů

Katedra: Katedra matematiky a deskriptivní geometrie

Autoři: Radek Kučera, Pavel Ludvík, Zuzana Morávková

Místo, rok, vydání: Ostrava, 2016, 1. vydání

Počet stran: 79

Vydala: Vysoká škola báňská-Technická univerzita Ostrava

Neprodejné

ISBN 978-80-248-3894-6