01.01.2015 Views

x - fyzikazeme.sk

x - fyzikazeme.sk

x - fyzikazeme.sk

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Prednáška č. 2<br />

Numerické metódy matematiky I<br />

Riešenie nelineárnych rovníc


Prednáška č. 2<br />

OBSAH<br />

1. Úvod<br />

2. Separácia koreňov a určenie počiatočnej aproximácie<br />

3. Metóda bisekcie (polenie intervalu)<br />

4. Rýchlosť konvergencie<br />

5. Metóda regula falsi<br />

6. Metóda sečníc<br />

7. Newtonova metóda (metóda dotyčníc)<br />

8. Metóda jednoduchých iterácií (metóda pevného bodu)<br />

9. Aitken-Steffensenove metódy<br />

10. Zopár poznámok<br />

11. Literatúra


Úvod<br />

Riešiť nelineárnu rovnicu<br />

f (x)=0<br />

znamená, hľadať také body x*<br />

∈R, že f (x*)=0.<br />

Takéto body budeme nazývať korene rovnice (1).<br />

(1)


Úvod<br />

Riešiť nelineárnu rovnicu<br />

f (x)=0<br />

znamená, hľadať také body x*<br />

∈R, že f (x*)=0.<br />

Takéto body budeme nazývať korene rovnice (1).<br />

(1)<br />

Korene nelineárnej rovnice f (x)=0 vo všeobecnosti<br />

nevieme vyjadriť explicitným vzorcom.


Úvod<br />

Riešiť nelineárnu rovnicu<br />

f (x)=0<br />

znamená, hľadať také body x*<br />

∈R, že f (x*)=0.<br />

Takéto body budeme nazývať korene rovnice (1).<br />

(1)<br />

Korene nelineárnej rovnice f (x)=0 vo všeobecnosti<br />

nevieme vyjadriť explicitným vzorcom.<br />

Iteračné metódy:<br />

z jednej alebo niekoľkých<br />

počiatočných aproximácií hľadaného koreňa x*<br />

generujeme postupnosť x0, x1,<br />

x 2, …,<br />

ktorá ku koreňu x* konverguje.


Úvod<br />

Pre niektoré metódy stačí,<br />

keď zadáme interval ab , ,<br />

ktorý obsahuje hľadaný koreň,<br />

iné vyžadujú,<br />

aby bola počiatočná aproximácia<br />

„dosť“ blízko k hľadanému koreňu.<br />

Často začíname s „hrubou“, avšak spoľahlivou metódou<br />

a až keď sme dostatočne blízko koreňa<br />

prejdeme na „jemnejšiu“,<br />

rýchlejšie konvergujúcu metódu.


Úvod<br />

Pre jednoduchosť budeme uvažovať len problém určenia<br />

jednoduchého koreňa x* rovnice f (x)=0,<br />

t.j. predpokladáme, že f ′ x* ≠ 0.<br />

( )<br />

Budeme tiež predpokladať, že<br />

funkcia f (x) je spojitá a<br />

má toľko spojitých derivácií,<br />

koľko je v danej situácii potrebných.


Prednáška č. 2<br />

OBSAH<br />

1. Úvod<br />

2. Separácia koreňov a určenie počiatočnej aproximácie<br />

3. Metóda bisekcie (polenie intervalu)<br />

4. Rýchlosť konvergencie<br />

5. Metóda regula falsi<br />

6. Metóda sečníc<br />

7. Newtonova metóda (metóda dotyčníc)<br />

8. Metóda jednoduchých iterácií (metóda pevného bodu)<br />

9. Aitken-Steffensenove metódy<br />

10. Zopár poznámok<br />

11. Literatúra


Separácia koreňov a určenie počiatočnej aproximácie<br />

Pri hľadaní koreňov rovnice<br />

f (x)=0<br />

naj<strong>sk</strong>ôr zistíme,<br />

koľko koreňov rovnica má<br />

a<br />

nájdeme intervaly obsahujúce práve jeden koreň rovnice.<br />

ab ,<br />

Veta: Ak je funkcia spojitá na intervale a platí<br />

( ) ⋅ f ( b) < 0,<br />

f a<br />

potom na intervale ab , leží aspoň jeden koreň rovnice f (x)=0.


Separácia koreňov a určenie počiatočnej aproximácie<br />

x*


Separácia koreňov a určenie počiatočnej aproximácie<br />

Počiatočnú aproximáciu koreňov rovnice<br />

f (x)=0<br />

môžeme zistiť z grafu funkcie f (x).<br />

ab ,<br />

( )<br />

⎡x<br />

, f x ⎤<br />

⎣ ⎦<br />

a= x < x < < x < x < < x = b<br />

Inou možnosťou je zostavenie tabuľky i i pre nejaké delenie<br />

0 1 i−1<br />

i n<br />

zvoleného intervalu .


Separácia koreňov a určenie počiatočnej aproximácie<br />

Príklad: Zí<strong>sk</strong>ajme hrubý odhad koreňov rovnice f (x)=0, kde<br />

( )<br />

f x = 4sin x−x<br />

−1.<br />

3


Separácia koreňov a určenie počiatočnej aproximácie<br />

Príklad: Zí<strong>sk</strong>ajme hrubý odhad koreňov rovnice<br />

x<br />

e<br />

2<br />

+ x − 3=<br />

0<br />

Riešenie: Zadanú funkciu upravíme na tvar<br />

x<br />

e<br />

= 3−x<br />

2


Prednáška č. 2<br />

OBSAH<br />

1. Úvod<br />

2. Separácia koreňov a určenie počiatočnej aproximácie<br />

3. Metóda bisekcie (polenie intervalu)<br />

4. Rýchlosť konvergencie<br />

5. Metóda regula falsi<br />

6. Metóda sečníc<br />

7. Newtonova metóda (metóda dotyčníc)<br />

8. Metóda jednoduchých iterácií (metóda pevného bodu)<br />

9. Aitken-Steffensenove metódy<br />

10. Zopár poznámok<br />

11. Literatúra


Metóda bisekcie (polenie intervalu)<br />

Je založená na princípe znamienkových zmien.<br />

Predpokladajme, že funkcia f (x)<br />

( a , b )<br />

má v koncových bodoch intervalu 0 0 opačné znamienka,<br />

t.j. platí f ( a0) ⋅ f ( b0)<br />

< 0.<br />

Zostrojíme postupnosť intervalov<br />

( a b ) ( a b ) ( a b ) ( a b )<br />

, ⊃ , ⊃ , ⊃ , ⊃,<br />

0 0 1 1 2 2 3 3<br />

ktoré obsahujú koreň.<br />

( )<br />

a + , b + , k = 0,1, …<br />

Intervaly k 1 k 1<br />

určíme rekurzívne<br />

nasledovným spôsobom:


Metóda bisekcie (polenie intervalu)<br />

( a , b )<br />

x ( a b )<br />

Nájdeme stred intervalu a označíme ho<br />

1<br />

k k<br />

k 1 .<br />

2 k k<br />

Ak f ( x k + 1)<br />

= 0 potom x* = x k + 1 a končíme.<br />

Ak f ( x k + 1)<br />

≠ 0 potom<br />

( a , b )<br />

k+ 1 k+<br />

1<br />

+ = +<br />

( ak xk+ 1) f ( ak) f ( xk+<br />

1)<br />

( x b ) f ( a ) f ( x )<br />

⎧⎪ , , ak < 0,<br />

= ⎨<br />

⎪<br />

⎪<br />

⎪⎩ k+ 1, k , ak k k+<br />

1 > 0.


Metóda bisekcie (polenie intervalu)<br />

Nájdeme stred intervalu a označíme ho<br />

1<br />

k k<br />

k 1 .<br />

2 k k<br />

Ak f ( x k + 1)<br />

= 0 potom x* = x k + 1 a končíme.<br />

Ak f ( x k + 1)<br />

≠ 0 potom<br />

( a , b )<br />

k+ 1 k+<br />

1<br />

Z konštrukcie ak<br />

1,<br />

bk<br />

1 vyplýva, že f ak+ 1 f bk+ 1 < 0, takže<br />

každý interval k k obsahuje koreň.<br />

( a , b )<br />

x ( a b )<br />

+ = +<br />

( ak xk+ 1) f ( ak) f ( xk+<br />

1)<br />

( x b ) f ( a ) f ( x )<br />

⎧⎪ , , ak < 0,<br />

= ⎨<br />

⎪<br />

⎪<br />

⎪⎩ k+ 1, k , ak k k+<br />

1 > 0.<br />

( + + )<br />

( ) ( )<br />

( a , b )


Metóda bisekcie (polenie intervalu)<br />

( )<br />

I : = a , b<br />

Po k krokoch je koreň v intervale k k k dĺžky<br />

bk−1−<br />

ak−1<br />

−k<br />

Ik = bk − ak<br />

= = = 2 ( b0−a0)<br />

.<br />

2<br />

x + ( a , b )<br />

Stred k 1 intervalu k k aproximuje koreň x* s chybou<br />

−k−1<br />

( ) ( )<br />

x + − x* ≤ b − a = 2 b − a .<br />

1<br />

k 1 2 k k<br />

0 0<br />

(2)<br />

k →∞ I →0a x → x*.<br />

Pre zrejme<br />

k<br />

k<br />

Príklad: Koľko iterácií metódou bisekcie musíme vykonať,<br />

aby sme spresnili koreň o jednu dekadickú cifru


Metóda bisekcie (polenie intervalu)<br />

Metóda bisekcie konverguje pomaly, ale<br />

konverguje vždy.<br />

Rýchlosť konvergencie (2) nezávisí na funkcii f (x),<br />

pretože sme využívali len znamienko funkčných hodnôt.<br />

Keď tieto hodnoty (a prípadne hodnoty derivácií f‘(x) )<br />

využijeme efektívnejšie,<br />

môžeme dosiahnuť rýchlejšiu konvergenciu.<br />

Takéto „spresňujúce“ metódy však konvergujú,<br />

len ak pre ne zvolíme<br />

dostatočne dobrú počiatočnú aproximáciu.<br />

Najčastejšie práve určenú metódou bisekcie.


Prednáška č. 2<br />

OBSAH<br />

1. Úvod<br />

2. Separácia koreňov a určenie počiatočnej aproximácie<br />

3. Metóda bisekcie (polenie intervalu)<br />

4. Rýchlosť konvergencie<br />

5. Metóda regula falsi<br />

6. Metóda sečníc<br />

7. Newtonova metóda (metóda dotyčníc)<br />

8. Metóda jednoduchých iterácií (metóda pevného bodu)<br />

9. Aitken-Steffensenove metódy<br />

10. Zopár poznámok<br />

11. Literatúra


Rýchlosť konvergencie<br />

x , x , x ,… x*<br />

e = x −x*<br />

p C ≠ 0<br />

Nech 0 1 2 je postupnosť, ktorá konverguje k a<br />

k<br />

k<br />

p<br />

. Keď existuje číslo a konštanta taká, že<br />

e<br />

lim = C,<br />

→∞<br />

e<br />

k<br />

k+<br />

1<br />

p<br />

k<br />

potom sa nazýva rád konvergencie postupnosti a<br />

C je chybová konštanta.<br />

(3)<br />

Špeciálne hovoríme, že<br />

lineárna,<br />

konvergencia je superlineárna, keď<br />

kvadratická,<br />

p = 1 a C < 1,<br />

p > 1,<br />

p = 2.<br />

Hovoríme, že daná metóda je rádu ,<br />

ak všetky konvergentné postupnosti zí<strong>sk</strong>ané touto metódou<br />

majú rád konvergencie väčší alebo rovný p a<br />

najmenej jedna z nich má rád konvergencie rovný presne .<br />

p<br />

p


Rýchlosť konvergencie<br />

Príklad: Aká je rýchlosť konvergencie metódy bisekcie<br />

x + ( a , b )<br />

Stred k 1 intervalu k k aproximuje koreň x* s chybou<br />

−k−1<br />

( ) ( )<br />

x + − x* ≤ b − a = 2 b − a .<br />

1<br />

k 1 2 k k<br />

0 0<br />

lim<br />

k→∞<br />

−k−1<br />

x 1 *<br />

k<br />

k+<br />

− x 2 ( b0− a0)<br />

1⎛<br />

2 ⎞<br />

= = p<br />

p<br />

x * k<br />

2 ( )<br />

2 b<br />

k x −<br />

b 0 a<br />

− ⎡ 0<br />

0 a ⎤ ⎜⎝ − ⎟⎠<br />

⎢ −<br />

⎣<br />

0 ⎥⎦<br />

p−1<br />

p= 1, C=<br />

1<br />

2


Prednáška č. 2<br />

OBSAH<br />

1. Úvod<br />

2. Separácia koreňov a určenie počiatočnej aproximácie<br />

3. Metóda bisekcie (polenie intervalu)<br />

4. Rýchlosť konvergencie<br />

5. Metóda regula falsi<br />

6. Metóda sečníc<br />

7. Newtonova metóda (metóda dotyčníc)<br />

8. Metóda jednoduchých iterácií (metóda pevného bodu)<br />

9. Aitken-Steffensenove metódy<br />

10. Zopár poznámok<br />

11. Literatúra


Metóda regula falsi<br />

Je veľmi podobná metóde bisekcie.<br />

Deliacim bodom však nie je polovica intervalu,<br />

ale priesečník sečnice vedenej bodmi ⎡a<br />

k,<br />

f ( ak)<br />

⎤ a ⎡b<br />

k,<br />

f b ⎤<br />

k s osou x.<br />

⎣ ⎦ ( )<br />

⎣<br />


Metóda regula falsi<br />

Priesečník vypočítame podľa vzorca<br />

b −a<br />

x b f b<br />

( )<br />

k k<br />

k+<br />

1 = k −<br />

k<br />

f ( bk) − f ( ak)


Metóda regula falsi<br />

Priesečník vypočítame podľa vzorca<br />

( )<br />

b −a<br />

x b f b<br />

( )<br />

k k<br />

k+<br />

1 = k −<br />

k<br />

f ( bk) − f ( ak)<br />

Ak f x k + 1 = 0 potom x* = x k + 1 a končíme.<br />

Ak f ( x k + 1)<br />

≠ 0 potom<br />

( a , b )<br />

k+ 1 k+<br />

1<br />

Z konštrukcie ak<br />

1,<br />

bk<br />

1 vyplýva, že f ak+ 1 f bk+ 1 < 0, takže<br />

každý interval k k obsahuje koreň.<br />

( ak xk+ 1) f ( ak) f ( xk+<br />

1)<br />

( x b ) f ( a ) f ( x )<br />

⎧⎪ , , ak < 0,<br />

= ⎪<br />

⎨ ⎪<br />

⎪⎩ k+ 1, k , ak k k+<br />

1 > 0.<br />

( + + )<br />

( ) ( )<br />

( a , b )


Metóda regula falsi<br />

( )<br />

I : = a , b<br />

Po k krokoch je koreň v intervale k k k . Na rozdiel od<br />

metódy bisekcie však dĺžka intervalu I k nekonverguje k nule.<br />

Metóda regula falsi je vždy konvergentná.<br />

Rýchlosť konvergencie je len<br />

(podobne ako metódy bisekcie)<br />

lineárna.


Prednáška č. 2<br />

OBSAH<br />

1. Úvod<br />

2. Separácia koreňov a určenie počiatočnej aproximácie<br />

3. Metóda bisekcie (polenie intervalu)<br />

4. Rýchlosť konvergencie<br />

5. Metóda regula falsi<br />

6. Metóda sečníc<br />

7. Newtonova metóda (metóda dotyčníc)<br />

8. Metóda jednoduchých iterácií (metóda pevného bodu)<br />

9. Aitken-Steffensenove metódy<br />

10. Zopár poznámok<br />

11. Literatúra


Metóda sečníc<br />

Je veľmi podobná metóde regula falsi.<br />

ab ,<br />

Vychádzame z intervalu obsahujúceho koreň rovnice.<br />

Označíme x0<br />

= a a 1 .<br />

Vedieme sečnicu bodmi 0 0 a 1 1 a<br />

nájdeme jej priesečník s osou x.<br />

Ten označíme x 2 .<br />

x<br />

= b<br />

⎡x<br />

, f ( x ) ⎤ ⎡<br />

⎣ ⎦<br />

x , f ( x )<br />

⎣<br />

⎤<br />


Metóda sečníc<br />

Je veľmi podobná metóde regula falsi.<br />

ab ,<br />

Vychádzame z intervalu obsahujúceho koreň rovnice.<br />

Označíme x0<br />

= a a 1 .<br />

Vedieme sečnicu bodmi 0 0 a 1 1 a<br />

nájdeme jej priesečník s osou x.<br />

Ten označíme x 2 .<br />

Na rozdiel od metódy regula falsi však<br />

teraz nevyberáme interval obsahujúci koreň, ale<br />

vedieme sečnicu bodmi ,<br />

⎣ 1 1 ⎦ ⎣ 2 2 ⎦<br />

ich priesečník označíme x 3 .<br />

Potom vedieme sečnicu bodmi 2 2 a 3 3 , atď.<br />

x<br />

= b<br />

⎡x<br />

, f ( x ) ⎤ ⎡<br />

⎣ ⎦<br />

x , f ( x )<br />

⎣<br />

( ) ( )<br />

⎡x , f x ⎤, ⎡x , f x ⎤<br />

⎡x<br />

, f ( x ) ⎤ ⎡<br />

⎣ ⎦ ⎣<br />

x , f ( x )<br />

⎤<br />

⎦<br />

⎤<br />


Metóda sečníc


Metóda sečníc<br />

V k-tom kroku metódy počítame aproximáciu koreňa podľa<br />

x = a, x = b.<br />

Kde 0 1<br />

x − x<br />

x x f x<br />

( )<br />

k k−1<br />

k+<br />

1 = k −<br />

k<br />

f ( xk) − f ( xk−1<br />

)<br />

,<br />

xk+ 1 − x* ≤ ε.


Metóda sečníc<br />

V k-tom kroku metódy počítame aproximáciu koreňa podľa<br />

Kde<br />

x = a, x = b.<br />

0 1<br />

x − x<br />

x x f x<br />

( )<br />

k k−1<br />

k+<br />

1 = k −<br />

k<br />

f ( xk) − f ( xk−1<br />

)<br />

,<br />

Výpočet ukončíme, keď je splnená podmienka – stop kritérium<br />

xk+ 1 − xk<br />

≤ ε , prípadne xk+ 1 − xk ≤ε xk<br />

,<br />

alebo<br />

( )<br />

f x<br />

alebo keď narazíme priamo na koreň.<br />

k+ 1 ≤ ε ,


Metóda sečníc<br />

V k-tom kroku metódy počítame aproximáciu koreňa podľa<br />

Kde<br />

x = a, x = b.<br />

0 1<br />

x − x<br />

x x f x<br />

( )<br />

k k−1<br />

k+<br />

1 = k −<br />

k<br />

f ( xk) − f ( xk−1<br />

)<br />

,<br />

− ≤<br />

1<br />

Výpočet ukončíme, keď je splnená podmienka – stop kritérium<br />

xk+ 1 xk<br />

ε , prípadne xk+ 1 xk ≤ε xk<br />

,<br />

alebo f ( xk+ 1 ) ε ,<br />

alebo keď narazíme priamo na koreň.<br />

* .<br />

Pozor! Daná podmienka nezaručuje, že platí<br />

xk+ − x ≤ ε


Metóda sečníc<br />

V k-tom kroku metódy počítame aproximáciu koreňa podľa<br />

Kde<br />

x = a, x = b.<br />

0 1<br />

x − x<br />

x x f x<br />

( )<br />

k k−1<br />

k+<br />

1 = k −<br />

k<br />

f ( xk) − f ( xk−1<br />

)<br />

,<br />

− ≤<br />

1<br />

Výpočet ukončíme, keď je splnená podmienka – stop kritérium<br />

xk+ 1 xk<br />

ε , prípadne xk+ 1 xk ≤ε xk<br />

,<br />

alebo f ( xk+ 1 ) ε ,<br />

alebo keď narazíme priamo na koreň.<br />

* .<br />

Pozor! Daná podmienka nezaručuje, že platí<br />

xk+ − x ≤ ε<br />

Príklad: Ako sa presvedčíme, že je daná podmienka splnená


Metóda sečníc<br />

Metóda sečníc môže aj divergovať !


Metóda sečníc<br />

Metóda sečníc konverguje rýchlejšie než regula falsi,<br />

ale môže aj divergovať.


Metóda sečníc<br />

Metóda sečníc konverguje rýchlejšie než regula falsi,<br />

ale môže aj divergovať.<br />

Zaručene konverguje vtedy,<br />

ak zvolíme štartovacie body x1<br />

a x 2 dostatočne blízko koreňu x*<br />

.


Metóda sečníc<br />

Metóda sečníc konverguje rýchlejšie než regula falsi,<br />

ale môže aj divergovať.<br />

Zaručene konverguje vtedy,<br />

ak zvolíme štartovacie body x1<br />

a x 2 dostatočne blízko koreňu x*<br />

.<br />

Dá sa odvodiť, že rýchlosť konvergencie je rádu<br />

1<br />

p = ( 1 + 5 ) 1.618 ,<br />

2<br />

t.j. je superlineárna.


Prednáška č. 2<br />

OBSAH<br />

1. Úvod<br />

2. Separácia koreňov a určenie počiatočnej aproximácie<br />

3. Metóda bisekcie (polenie intervalu)<br />

4. Rýchlosť konvergencie<br />

5. Metóda regula falsi<br />

6. Metóda sečníc<br />

7. Newtonova metóda (metóda dotyčníc)<br />

8. Metóda jednoduchých iterácií (metóda pevného bodu)<br />

9. Aitken-Steffensenove metódy<br />

10. Zopár poznámok<br />

11. Literatúra


Newtonova metóda (metóda dotyčníc)<br />

Už podľa názvu vieme, že budeme pracovať<br />

s dotyčnicami ku grafu funkcie f.<br />

Preto predpokladajme, že funkcia f má deriváciu.


Newtonova metóda (metóda dotyčníc)<br />

Už podľa názvu vieme, že budeme pracovať<br />

s dotyčnicami ku grafu funkcie f.<br />

Preto predpokladajme, že funkcia f má deriváciu.<br />

Zvolíme počiatočnú aproximáciu koreňa x 0 .<br />

⎡<br />

⎣<br />

x<br />

,<br />

( )<br />

f x<br />

⎤<br />

⎦<br />

Bodom 0 0 vedieme dotyčnicu ku grafu funkcie f.<br />

Jej priesečník s osou x označíme x 1 .<br />

Potom vedieme dotyčnicu bodom ,<br />

⎣ 1 1 ⎦<br />

jej priesečník s osou x označíme x 2 ,<br />

atď.<br />

⎡x<br />

,<br />

( )<br />

f x<br />


Newtonova metóda (metóda dotyčníc)


Newtonova metóda (metóda dotyčníc)<br />

Predpokladajme, že poznáme x k<br />

a chceme vypočítať lepšiu aproximáciu x k + 1.


Newtonova metóda (metóda dotyčníc)<br />

Predpokladajme, že poznáme x k<br />

a chceme vypočítať lepšiu aproximáciu k 1.<br />

⎡<br />

⎣<br />

x<br />

,<br />

( )<br />

f x<br />

⎤<br />

⎦<br />

Bodom k k vedieme dotyčnicu ku krivke .<br />

y : = 0<br />

Do rovnice dotyčnice<br />

( ) ′( )( )<br />

y= f x + f x x−x<br />

k k k<br />

x +<br />

y=<br />

f ( x)<br />

dosadíme a zí<strong>sk</strong>ame tak priesečník dotyčnice s osou :<br />

x<br />

k<br />

( k )<br />

( x )<br />

f x<br />

+ = − ′<br />

1 xk<br />

.<br />

f k<br />

x


Newtonova metóda (metóda dotyčníc) - konvergencia<br />

e = x −x*<br />

Nech k k je chyba v k-tom kroku.<br />

( *)<br />

f x<br />

Urobme Taylorov rozvoj okolo<br />

1<br />

2<br />

0 = f ( x* ) = f ( xk) + ( x* − xk) f ′( xk) + ( x* −xk) f ′′( ξ ),<br />

2<br />

ξ<br />

kde je nejaký bod intervalu, ktorého krajné hodnoty sú k a .<br />

xk<br />

x x*


Newtonova metóda (metóda dotyčníc) - konvergencia<br />

e = x −x*<br />

Nech k k je chyba v k-tom kroku.<br />

( *)<br />

f x<br />

Urobme Taylorov rozvoj okolo<br />

1<br />

2<br />

0 = f ( x* ) = f ( xk) + ( x* − xk) f ′( xk) + ( x* −xk) f ′′( ξ ),<br />

2<br />

ξ<br />

kde je nejaký bod intervalu, ktorého krajné hodnoty sú k a .<br />

Po úpravách dostaneme<br />

( ξ )<br />

( )<br />

( ξ )<br />

( k)<br />

( ξ )<br />

( x )<br />

( k )<br />

( )<br />

1<br />

2 f ′′ f x<br />

− ( x* − xk)<br />

= + x*<br />

−x<br />

2 f ′ x f ′ x<br />

k<br />

( )<br />

1 f ′′ ⎡ f ( x ) ⎤<br />

k<br />

− ( x* − x ) = x* −⎢x − ⎥= x*<br />

−x<br />

2<br />

⎣ ( ) ⎦<br />

1 2 f ′′<br />

ek<br />

= ek+<br />

1<br />

2 f ′<br />

k<br />

2<br />

k k k+<br />

1<br />

f ′ x ⎢ f ′ x ⎥<br />

k<br />

k<br />

k<br />

xk<br />

x x*


Newtonova metóda (metóda dotyčníc) - konvergencia<br />

Keď urobíme limitu<br />

1<br />

f<br />

( ξ )<br />

( x )<br />

′′<br />

2<br />

e<br />

1<br />

2 k = e<br />

f<br />

k +<br />

′<br />

k<br />

k+<br />

1<br />

2<br />

k<br />

( ξ )<br />

( x )<br />

e f ′′<br />

lim = .<br />

→∞<br />

e f ′<br />

k<br />

k<br />

(4)<br />

Pripomeňme definíciu rádu konvergencie:<br />

x , x , x ,… x*<br />

e = x −x*<br />

p C ≠ 0<br />

Nech 0 1 2 je postupnosť, ktorá konverguje k a<br />

k<br />

k<br />

p<br />

. Keď existuje číslo a konštanta taká, že<br />

e<br />

lim = C,<br />

→∞<br />

e<br />

k<br />

k+<br />

1<br />

p<br />

k<br />

potom sa nazýva rád konvergencie postupnosti a<br />

C je chybová konštanta.<br />

Newtonova metóda konverguje kvadraticky.


Newtonova metóda (metóda dotyčníc) - konvergencia<br />

Newtonova metóda môže aj divergovať


Newtonova metóda (metóda dotyčníc) - konvergencia<br />

Otázka: Za akých podmienok je Newtonova metóda konvergentná


Newtonova metóda (metóda dotyčníc) - konvergencia<br />

Otázka: Za akých podmienok je Newtonova metóda konvergentná<br />

Predpokladajme, že v nejakom okolí I koreňa platí<br />

1<br />

2<br />

f<br />

f<br />

′′<br />

′<br />

( y)<br />

( x)<br />

≤ m<br />

pre všetky<br />

x ∈I, y∈I.


Newtonova metóda (metóda dotyčníc) - konvergencia<br />

Otázka: Za akých podmienok je Newtonova metóda konvergentná<br />

Predpokladajme, že v nejakom okolí I koreňa platí<br />

1<br />

2<br />

f<br />

f<br />

e<br />

′′<br />

′<br />

( y)<br />

( x)<br />

≤ m<br />

x<br />

∈<br />

I<br />

pre všetky<br />

x ∈I, y∈I.<br />

Ak k , potom zo (4) vyplýva<br />

2<br />

k+ 1 ≤ 2<br />

m ek<br />

alebo mek+ 1 ≤ mek<br />

.


Newtonova metóda (metóda dotyčníc) - konvergencia<br />

Otázka: Za akých podmienok je Newtonova metóda konvergentná<br />

Predpokladajme, že v nejakom okolí I koreňa platí<br />

1<br />

2<br />

f<br />

f<br />

e<br />

′′<br />

′<br />

( y)<br />

( x)<br />

≤ m<br />

x<br />

∈<br />

I<br />

pre všetky<br />

x ∈I, y∈I.<br />

Ak k , potom zo (4) vyplýva<br />

2<br />

k+ 1 ≤ 2<br />

m ek<br />

alebo mek+ 1 ≤ mek<br />

.<br />

Opakovaním tejto úvahy dostaneme<br />

2 4 8 2k+<br />

1<br />

k+ 1 ≤ k ≤ k−1 ≤ k−2 ≤≤<br />

0<br />

me me me me me<br />

Ak platí me 0 < 1, potom istotne e k + 1 → 0 a teda xk+ 1 → x*<br />

.


Newtonova metóda (metóda dotyčníc) - konvergencia<br />

Otázka: Za akých podmienok je Newtonova metóda konvergentná<br />

Predpokladajme, že v nejakom okolí I koreňa platí<br />

1<br />

2<br />

f<br />

f<br />

e<br />

′′<br />

′<br />

( y)<br />

( x)<br />

≤ m<br />

x<br />

∈<br />

I<br />

pre všetky<br />

x ∈I, y∈I.<br />

Ak k , potom zo (4) vyplýva<br />

2<br />

k+ 1 ≤ 2<br />

m ek<br />

alebo mek+ 1 ≤ mek<br />

.<br />

Opakovaním tejto úvahy dostaneme<br />

2 4 8 2k+<br />

1<br />

k+ 1 ≤ k ≤ k−1 ≤ k−2 ≤≤<br />

0<br />

me me me me me<br />

Ak platí me 0 < 1, potom istotne e k + 1 → 0 a teda xk+ 1 → x*<br />

.<br />

Newtonova metóda vždy konverguje za predpokladu,<br />

že počiatočnú aproximáciu zvolíme dostatočne blízko koreňa.


Newtonova metóda (metóda dotyčníc)<br />

Veta: (Fourierova podmienka)<br />

ab ,<br />

Nech v intervale leží jediný koreň rovnice a<br />

f<br />

′( x)<br />

f ′′( x)<br />

nech a sú spojité a nemenia znamienko na intervale .<br />

Ak zvolíme za počiatočnú aproximáciu x0 ∈ ab , tak,<br />

aby bola splnená podmienka<br />

( ) ′( )<br />

f x f x<br />

0 ⋅ 0 > 0,<br />

Newtonova metóda bude konvergovať.<br />

( ) 0<br />

f x =<br />

ab ,<br />

Praktický význam však Fourierova podmienka nemá,<br />

pretože pre veľké b−a<br />

obvykle podmienka neplatí<br />

alebo ju nevieme ľahko overiť.


Kombinovaná metóda<br />

Dobrú počiatočnú aproximáciu x 0 môžeme zí<strong>sk</strong>ať napr. metódou bisekcie.<br />

Vhodným spojením metódy bisekcie a Newtonovej metódy je možné<br />

zostrojiť kombinovanú metódu,<br />

ktorá vždy konverguje.<br />

napr. procedúra rtsafe v Numerical Recipes;<br />

v blízkosti koreňa sa uplatní len Newtonova metóda,<br />

takže konvergencia je rýchla.


Steffensenova metóda<br />

Steffensenova metóda je modifikáciou Newtonovej metódy<br />

h<br />

x<br />

k<br />

( k )<br />

( x )<br />

f x<br />

+ = x − ′<br />

1 k ,<br />

f k<br />

v ktorej sa derivácia nahrádza výrazom<br />

f<br />

( x)<br />

′ ≈<br />

kde k je číslo, ktoré sa s rastúcim indexom blíži k nule.<br />

f ′<br />

( k + k) − ( k) ,<br />

f x h f x<br />

h<br />

=<br />

h<br />

Volíme k k .<br />

k<br />

( )<br />

f x<br />

k<br />

Oproti metóde sečníc je tu jedno vyhodnotenie funkcie navyše.<br />

Na druhej strane sa dá ukázať, že<br />

rýchlosť konvergencie Steffensenovej metódy je rovnaká<br />

ako Newtonovej metódy, teda kvadratická.


Prednáška č. 2<br />

OBSAH<br />

1. Úvod<br />

2. Separácia koreňov a určenie počiatočnej aproximácie<br />

3. Metóda bisekcie (polenie intervalu)<br />

4. Rýchlosť konvergencie<br />

5. Metóda regula falsi<br />

6. Metóda sečníc<br />

7. Newtonova metóda (metóda dotyčníc)<br />

8. Metóda jednoduchých iterácií (metóda pevného bodu)<br />

9. Aitken-Steffensenove metódy<br />

10. Zopár poznámok<br />

11. Literatúra


Metóda jednoduchých iterácií (metóda pevného bodu)<br />

Metóda jednoduchých iterácií pre riešenie nelineárnej rovnice<br />

je aplikáciou všeobecnej metódy postupných aproximácií,<br />

tak ako sme si ju popísali v krátkom úvode do funkcionálnej analýzy.


Metóda jednoduchých iterácií (metóda pevného bodu)<br />

Metóda jednoduchých iterácií pre riešenie nelineárnej rovnice<br />

je aplikáciou všeobecnej metódy postupných aproximácií,<br />

tak ako sme si ju popísali v krátkom úvode do funkcionálnej analýzy.<br />

Rovnicu f (x) = 0 upravíme na tvar<br />

x = g( x).<br />

Funkcia g sa nazýva iteračná funkcia.


Metóda jednoduchých iterácií (metóda pevného bodu)<br />

Metóda jednoduchých iterácií pre riešenie nelineárnej rovnice<br />

je aplikáciou všeobecnej metódy postupných aproximácií,<br />

tak ako sme si ju popísali v krátkom úvode do funkcionálnej analýzy.<br />

Rovnicu f (x) = 0 upravíme na tvar<br />

x = g( x).<br />

Funkcia g sa nazýva iteračná funkcia.<br />

Teraz budeme namiesto koreňov pôvodnej rovnice hľadať<br />

pevný bod funkcie g (x).<br />

Urobíme to postupom popísaným vo Vete o pevnom bode.


Metóda jednoduchých iterácií (metóda pevného bodu)<br />

Metóda jednoduchých iterácií pre riešenie nelineárnej rovnice<br />

je aplikáciou všeobecnej metódy postupných aproximácií,<br />

tak ako sme si ju popísali v krátkom úvode do funkcionálnej analýzy.<br />

Rovnicu f (x) = 0 upravíme na tvar<br />

x = g( x).<br />

Funkcia g sa nazýva iteračná funkcia.<br />

Teraz budeme namiesto koreňov pôvodnej rovnice hľadať<br />

pevný bod funkcie g (x).<br />

Urobíme to postupom popísaným vo Vete o pevnom bode.<br />

Zvolíme počiatočnú aproximáciu x 0 a ďalšie aproximácie počítame ako<br />

xk+ 1 = g( xk)<br />

.


Metóda jednoduchých iterácií (metóda pevného bodu)


Metóda jednoduchých iterácií (metóda pevného bodu)<br />

Týmto spôsobom nemusíme prísť k pevnému bodu funkcie g.


Metóda jednoduchých iterácií (metóda pevného bodu)<br />

Povedali sme si, že<br />

metóda postupných aproximácií konverguje,<br />

ak je zobrazenie,<br />

ktorého pevný bod hľadáme,<br />

kontraktívne.<br />

Pri funkcii jednej premennej<br />

kontraktivita úzko súvisí<br />

s rýchlosťou rastu funkcie.


Metóda jednoduchých iterácií (metóda pevného bodu)<br />

Veta:<br />

ab<br />

Nech funkcia g zobrazuje interval do seba<br />

a má na tomto intervale deriváciu.<br />

xk+ 1 g( xk)<br />

,<br />

α ∈ 0,1)<br />

( ) α , ,<br />

,<br />

Ak existuje číslo také, že<br />

g′ x ≤ ∀x∈<br />

a b<br />

ab x*<br />

potom v intervale existuje pevný bod funkcie g<br />

a postupnosť postupných aproximácií<br />

k nemu konverguje pre ľubovoľnú počiatočnú aproximáciu x0 ∈ ab , .


Metóda jednoduchých iterácií (metóda pevného bodu)<br />

Veta:<br />

ab<br />

Nech funkcia g zobrazuje interval do seba<br />

a má na tomto intervale deriváciu.<br />

xk+ 1 g( xk)<br />

,<br />

α ∈ 0,1)<br />

( ) α , ,<br />

,<br />

Ak existuje číslo také, že<br />

g′ x ≤ ∀x∈<br />

a b<br />

ab x*<br />

potom v intervale existuje pevný bod funkcie g<br />

a postupnosť postupných aproximácií<br />

k nemu konverguje pre ľubovoľnú počiatočnú aproximáciu x0 ∈ ab , .<br />

Ďalej platí<br />

xk −x* ≤ α xk −xk−1<br />

.<br />

1−α


Metóda jednoduchých iterácií (metóda pevného bodu)<br />

Veta:<br />

ab<br />

Nech funkcia g zobrazuje interval do seba<br />

a má na tomto intervale deriváciu.<br />

xk+ 1 g( xk)<br />

,<br />

α ∈ 0,1)<br />

( ) α , ,<br />

,<br />

Ak existuje číslo také, že<br />

g′ x ≤ ∀x∈<br />

a b<br />

ab x*<br />

potom v intervale existuje pevný bod funkcie g<br />

a postupnosť postupných aproximácií<br />

k nemu konverguje pre ľubovoľnú počiatočnú aproximáciu x0 ∈ ab , .<br />

Ďalej platí<br />

xk −x* ≤ α xk −xk−1<br />

.<br />

1−α<br />

Potom sa dá ukázať, že rýchlosť konvergencie je lineárna.


Metóda jednoduchých iterácií (metóda pevného bodu)<br />

( ) 0<br />

f x =<br />

Spôsobov, ako z rovnice vyjadriť<br />

x<br />

, je nekonečne veľa.


Metóda jednoduchých iterácií (metóda pevného bodu)<br />

( ) 0<br />

f x =<br />

Spôsobov, ako z rovnice vyjadriť<br />

x<br />

, je nekonečne veľa.<br />

( ) 0<br />

f x =<br />

Jednou z možností je vydeliť rovnicu deriváciou funkcie f,<br />

potom rovnicu vynásobíme -1<br />

a nakoniec na obe strany pripočítame x.<br />

Dostaneme<br />

( )<br />

( x) .<br />

f x<br />

x= x− f ′


Metóda jednoduchých iterácií (metóda pevného bodu)<br />

( ) 0<br />

f x =<br />

Spôsobov, ako z rovnice vyjadriť<br />

x<br />

, je nekonečne veľa.<br />

( ) 0<br />

f x =<br />

Jednou z možností je vydeliť rovnicu deriváciou funkcie f,<br />

potom rovnicu vynásobíme -1<br />

a nakoniec na obe strany pripočítame x.<br />

Dostaneme<br />

( )<br />

( x) .<br />

f x<br />

x= x− f ′<br />

Newtonova metóda je špeciálnym prípadom<br />

metódy jednoduchých iterácií.


Prednáška č. 2<br />

OBSAH<br />

1. Úvod<br />

2. Separácia koreňov a určenie počiatočnej aproximácie<br />

3. Metóda bisekcie (polenie intervalu)<br />

4. Rýchlosť konvergencie<br />

5. Metóda regula falsi<br />

6. Metóda sečníc<br />

7. Newtonova metóda (metóda dotyčníc)<br />

8. Metóda jednoduchých iterácií (metóda pevného bodu)<br />

9. Aitken-Steffensenove metódy<br />

10. Zopár poznámok<br />

11. Literatúra


Aitken-Steffensenove metódy<br />

Pripomeňme definíciu rádu konvergencie:<br />

x , x , x ,… x*<br />

e = x −x*<br />

p C ≠ 0<br />

Nech 0 1 2 je postupnosť, ktorá konverguje k a<br />

k<br />

k<br />

p<br />

. Keď existuje číslo a konštanta taká, že<br />

e<br />

lim = C,<br />

→∞<br />

e<br />

k<br />

k+<br />

1<br />

p<br />

k<br />

potom sa nazýva rád konvergencie postupnosti a<br />

C je chybová konštanta.<br />

Predpokladajme lineárnu konvergenciu iteračnej metódy<br />

xk+ 1 = g( xk)<br />

,<br />

t.j. platí<br />

x*<br />

lim ≤ C .<br />

→∞ x − x*<br />

k<br />

xk<br />

−<br />

k − 1


Aitken-Steffensenove metódy<br />

Konvergenciu metódy jednoduchých iterácií môžeme zrýchliť nasledovne:<br />

Predpokladajme, že . Potom platia približné rovnosti<br />

k 1<br />

( )<br />

x −x* ≈C x −x* ,<br />

k<br />

k−1<br />

( )<br />

xk<br />

1 x* C xk<br />

x* ,<br />

+ − ≈ − ( ) 2<br />

z ktorých vypočítame koreň x*<br />

2<br />

xk− 1xk+<br />

1−<br />

xk<br />

xk<br />

− xk−1<br />

xk−1<br />

k+ 1− 2 k + k− 1 k+ 1− 2 k + k−1<br />

x* ≈ = −<br />

,<br />

x x x x x x<br />

( )<br />

( ),<br />

( ) ( )<br />

x = g x x = g x = g g x<br />

pričom k k− 1 k+ 1 k k−1<br />

.


Aitken-Steffensenove metódy<br />

Konvergenciu metódy jednoduchých iterácií môžeme zrýchliť nasledovne:<br />

Predpokladajme, že . Potom platia približné rovnosti<br />

k 1<br />

( )<br />

x −x* ≈C x −x* ,<br />

k<br />

k−1<br />

( )<br />

xk<br />

1 x* C xk<br />

x* ,<br />

+ − ≈ − ( ) 2<br />

z ktorých vypočítame koreň x*<br />

2<br />

xk− 1xk+<br />

1−<br />

xk<br />

xk<br />

− xk−1<br />

xk−1<br />

k+ 1− 2 k + k− 1 k+ 1− 2 k + k−1<br />

x* ≈ = −<br />

,<br />

x x x x x x<br />

( )<br />

( ),<br />

( ) ( )<br />

x = g x x = g x = g g x<br />

pričom k k− 1 k+ 1 k k−1<br />

.<br />

Takto môžeme definovať nový iteračný vzorec<br />

2<br />

( g( xk)<br />

− xk)<br />

xk+<br />

1 = xk<br />

−<br />

.<br />

g( g( xk)<br />

) − 2g( xk)<br />

+ xk<br />

Dostali sme Aitken-Steffensenovu iteračnú metódu<br />

na výpočet koreňa rovnice .<br />

x * x = g( x)


Aitken-Steffensenove metódy<br />

Ak zvolíme počiatočnú aproximáciu x 0<br />

dostatočne blízko koreňa x* a<br />

ak g′ x* ≠1,<br />

( )<br />

Aitken-Steffensenova metóda konverguje kvadraticky.


Aitken-Steffensenove metódy<br />

Ak zvolíme počiatočnú aproximáciu x 0<br />

dostatočne blízko koreňa x* a<br />

ak g′ x* ≠1,<br />

( )<br />

Aitken-Steffensenova metóda konverguje kvadraticky.<br />

( )<br />

g′ x* = 1<br />

Ak , konvergencia tejto metódy je pomalá.


Prednáška č. 2<br />

OBSAH<br />

1. Úvod<br />

2. Separácia koreňov a určenie počiatočnej aproximácie<br />

3. Metóda bisekcie (polenie intervalu)<br />

4. Rýchlosť konvergencie<br />

5. Metóda regula falsi<br />

6. Metóda sečníc<br />

7. Newtonova metóda (metóda dotyčníc)<br />

8. Metóda jednoduchých iterácií (metóda pevného bodu)<br />

9. Aitken-Steffensenove metódy<br />

10. Zopár poznámok<br />

11. Literatúra


Zopár poznámok<br />

Poznámka (O násobných koreňoch)<br />

x * f ( x ) = 0<br />

g x = f x / x− x* q x*<br />

Hovoríme, že koreň rovnice má násobnosť q,<br />

( ) ( ) ( )<br />

ak funkcia je v bode definovaná<br />

a koreň v ňom už má, t.j. keď<br />

( )<br />

0 < g x*


Zopár poznámok<br />

Poznámka (O násobných koreňoch)<br />

x * f ( x ) = 0<br />

g x = f x / x− x* q x*<br />

Hovoríme, že koreň rovnice má násobnosť q,<br />

( ) ( ) ( )<br />

ak funkcia je v bode definovaná<br />

a koreň v ňom už má, t.j. keď<br />

( )<br />

0 < g x*


Zopár poznámok<br />

Poznámka (O násobných koreňoch)<br />

x * f ( x ) = 0<br />

g x = f x / x− x* q x*<br />

Hovoríme, že koreň rovnice má násobnosť q,<br />

( ) ( ) ( )<br />

ak funkcia je v bode definovaná<br />

a koreň v ňom už má, t.j. keď<br />

( )<br />

0 < g x*


Zopár poznámok<br />

Poznámka (O dosiahnuteľnej presnosti)<br />

Nech x k je aproximácia jednoduchého koreňa rovnice f x = .<br />

Pomocou vety o strednej hodnote dostaneme<br />

( ) = ( ) − ( ) = ′( ξ )( − )<br />

f x f x f x* f x x* ,<br />

k k k<br />

ξ<br />

kde je nejaký bod ležiaci medzi k a .<br />

Predpokladajme, že pri výpočtoch pracujeme<br />

len s približnými hodnotami k k k,<br />

δ<br />

pričom k .<br />

Potom najlepší výsledok, dosiahnuteľná aký môžeme dosiahnuť, presnosť koreňa je f ( x x*<br />

k ) = 0.<br />

x<br />

k<br />

V tom prípade k , takže<br />

x*<br />

*<br />

Vypočítať x* s menšou chybou než ε x sa nedá.<br />

x<br />

f x = f x + δ<br />

≤δ<br />

( ) ( )<br />

f ( x ) ≤δ<br />

( k ) δ δ<br />

( x ) f ′( ξ ) f ′( x*<br />

)<br />

−<br />

f x<br />

*<br />

x* = : ε x ,<br />

f ′<br />

≤ ≈ =<br />

k<br />

pokiaľ sa f ′ v blízkosti koreňa príliš nemení.<br />

( ) 0


Zopár poznámok<br />

Poznámka (O dosiahnuteľnej presnosti)<br />

( )<br />

f ′ x* x*<br />

Ak je smernica v koreni malá,<br />

potom je dosiahnuteľná presnosť veľmi veľká –<br />

- zle podmienený problém


Zopár poznámok<br />

Poznámka (O dosiahnuteľnej presnosti)<br />

Podobná úvaha pre koreň násobnosti q<br />

dáva dosiahnuteľnú presnosť<br />

ε<br />

⎛ ⎞ ⋅<br />

= ( q<br />

f<br />

) ⎜ ( x*<br />

⎜⎝ ) ⎟⎠<br />

* ⎜<br />

δ q!<br />

x<br />

1<br />

q<br />

.<br />

1/q<br />

Exponent je príčinou toho, že<br />

výpočet násobného koreňa<br />

je všeobecne zle podmienená úloha.


Prednáška č. 2<br />

OBSAH<br />

1. Úvod<br />

2. Separácia koreňov a určenie počiatočnej aproximácie<br />

3. Metóda bisekcie (polenie intervalu)<br />

4. Rýchlosť konvergencie<br />

5. Metóda regula falsi<br />

6. Metóda sečníc<br />

7. Newtonova metóda (metóda dotyčníc)<br />

8. Metóda jednoduchých iterácií (metóda pevného bodu)<br />

9. Aitken-Steffensenove metódy<br />

10. Zopár poznámok<br />

11. Literatúra


Literatúra


Literatúra


Literatúra

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!