Kapitola 9. Numerické derivování

Podobné dokumenty
Numerické řešení diferenciálních rovnic

11.Numerické řešení parciálních diferenciálních rovnic

Numerické metody a statistika

Přednáška 4: Derivace

1 Polynomiální interpolace

Budeme hledat řešení y(x) okrajové úlohy pro diferenciální rovnici druhého řádu v samoadjungovaném tvaru na intervalu a, b : 2 ) y i p i+ 1

Diferencovatelné funkce

Literatura: Kapitola 2 d) ze skript Karel Rektorys: Matematika 43, ČVUT, Praha, Text přednášky na webové stránce přednášejícího.

Kombinatorická minimalizace

úloh pro ODR jednokrokové metody

kopci a tuto představu přetavit do náčrtku celé situace, viz. obr.1. Aby však tento náčrt nebyl

Diferenciální počet ve středoškolské matematice

Literatura: Kapitoly 3, 4 a 2 d) ze skript Karel Rektorys: Matematika 43, ČVUT, Praha, Text přednášky na webové stránce přednášejícího.

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

Příklad 1. Řešení 1a. Řešení 1b ŘEŠENÉ PŘÍKLADY Z M1B ČÁST 5

em do konce semestru. Obsah Vetknutý nosník, str. 8 Problém č.8: Průhyb nosníku - Ritzova metoda

5.3. Implicitní funkce a její derivace

Je založen na pojmu derivace funkce a její užití. Z předchozího studia je třeba si zopakovat a orientovat se v pojmech: funkce, D(f), g 2 : y =

Obsah Obyčejné diferenciální rovnice

MATEMATIKA III. Olga Majlingová. Učební text pro prezenční studium. Předběžná verze

Integrace. Numerické metody 7. května FJFI ČVUT v Praze

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

Soustavy lineárních diferenciálních rovnic I. řádu s konstantními koeficienty

Globální matice konstrukce

4 Numerické derivování a integrace

5. cvičení z Matematiky 2

Diferenciální počet 1 1. f(x) = ln arcsin 1 + x 1 x. 1 x 1 a x 1 0. f(x) = (cos x) cosh x + 3x. x 0 je derivace funkce f(x) v bodě x0.


(Cramerovo pravidlo, determinanty, inverzní matice)

řešeny numericky 6 Obyčejné diferenciální rovnice řešeny numericky

Matematická analýza III.

8. Okrajový problém pro LODR2

Interpolace Lagrangeovy polynomy. 29. října 2012

5. Interpolace a aproximace funkcí

Interpolace, ortogonální polynomy, Gaussova kvadratura

Numerické řešení diferenciálních rovnic

Čebyševovy aproximace

Vzpěr jednoduchého rámu, diferenciální operátory. Lenka Dohnalová

Numerická matematika 1

Aproximace funkcí. Numerické metody 6. května FJFI ČVUT v Praze

Dnešní látka: Literatura: Kapitoly 3 a 4 ze skript Karel Rektorys: Matematika 43, ČVUT, Praha, Text přednášky na webové stránce přednášejícího.

Derivace funkcí více proměnných

12 DYNAMIKA SOUSTAVY HMOTNÝCH BODŮ

Pseudospektrální metody

Arnoldiho a Lanczosova metoda

Extrémy funkce dvou proměnných

EUKLIDOVSKÉ PROSTORY

metody jsou proto často jedinou možností jak danou diferenciální rovnicivyřešit.

I. 7. Diferenciál funkce a Taylorova věta

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Co je obsahem numerických metod?

0.1 Úvod do lineární algebry

ODR metody Runge-Kutta

Aproximace funkcí. x je systém m 1 jednoduchých, LN a dostatečně hladkých funkcí. x c m. g 1. g m. a 1. x a 2. x 2 a k. x k b 1. x b 2.

Interpolace pomocí splajnu

ekologie Pavel Fibich rovnice rovnice Pavel Fibich Shrnutí Literatura

Newtonova metoda. 23. října 2012

Odvození středové rovnice kružnice se středem S [m; n] a o poloměru r. Bod X ležící na kružnici má souřadnice [x; y].

Kubický spline. Obrázek 1 Proložení dat nezávislými kubickými polynomy bez požadavku spojitosti. T h T 2

South Bohemia Mathematical Letters Volume 23, (2015), No. 1, DĚLENÍ KRUHU NA OBLASTI ÚVOD

metody jsou proto často jedinou možností jak danou diferenciální rovnicivyřešit.

Numerická matematika Písemky

5. Lokální, vázané a globální extrémy

15. KubickÈ rovnice a rovnice vyööìho stupnï

dx se nazývá diferenciál funkce f ( x )

9. přednáška 26. listopadu f(a)h < 0 a pro h (0, δ) máme f(a 1 + h, a 2,..., a m ) f(a) > 1 2 x 1

a vlastních vektorů Příklad: Stanovte taková čísla λ, pro která má homogenní soustava Av = λv nenulové (A λ i I) v = 0.

+ 2y. a y = 1 x 2. du x = nxn 1 f(u) 2x n 3 yf (u)

Libovolnou z probraných metod najděte s přesností na 3 desetinná místa kladný kořen rovnice. sin x + x 2 2 = 0.

Studijní text pro obor G+K Katedra matematiky Fakulta stavební ROVNICE. Doc. RNDr. Milada Kočandrlová, CSc.

Matematika I A ukázkový test 1 pro 2011/2012. x + y + 3z = 1 (2a 1)x + (a + 1)y + z = 1 a

7. SOUSTAVY LINEÁRNÍCH A KVADRATICKÝCH ROVNIC

Matematika I (KX001) Užití derivace v geometrii, ve fyzice 3. října f (x 0 ) (x x 0) Je-li f (x 0 ) = 0, tečna: x = 3, normála: y = 0

3 Lineární kombinace vektorů. Lineární závislost a nezávislost

X = x, y = h(x) Y = y. hodnotám x a jedné hodnotě y. Dostaneme tabulku hodnot pravděpodobnostní

Polynomy a interpolace text neobsahuje přesné matematické definice, pouze jejich vysvětlení

Nelineární obvody. V nelineárních obvodech však platí Kirchhoffovy zákony.

21 Diskrétní modely spojitých systémů

VZOROVÝ TEST PRO 3. ROČNÍK (3. A, 5. C)

Numerické řešení nelineárních rovnic

Základy matematiky pro FEK

Co jsme udělali: Au = f, u D(A)

Hledání extrémů funkcí

- funkce, které integrujete aproximujte jejich Taylorovými řadami a ty následně zintegrujte. V obou případech vyzkoušejte Taylorovy řady

Matematická analýza pro informatiky I.

Modelování ternárních systémů slitin

Západočeská univerzita v Plzni. Fakulta aplikovaných věd. Katedra matematiky

Matematika III. Miroslava Dubcová, Daniel Turzík, Drahoslava Janovská. Ústav matematiky

Praha & EU: investujeme do vaší budoucnosti. Daniel Turzík, Miroslava Dubcová,

Derivace úvod. Jak zjistit míru změny?

Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s

Připomenutí co je to soustava lineárních rovnic

vyjádřete ve tvaru lineární kombinace čtverců (lineární kombinace druhých mocnin). Rozhodněte o definitnosti kvadratické formy κ(x).

Riemannův určitý integrál

VYUŽITÍ MATLABU PRO VÝUKU NUMERICKÉ MATEMATIKY Josef Daněk Centrum aplikované matematiky, Západočeská univerzita v Plzni. Abstrakt

Zimní semestr akademického roku 2015/ ledna 2016

1. Náhodný vektor (X, Y ) má diskrétní rozdělení s pravděpodobnostní funkcí p, kde. p(x, y) = a(x + y + 1), x, y {0, 1, 2}.

Vyměníme druhý řádek s posledním a vynulujeme 2. sloupec pod diagonálou:

FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

Transkript:

Kapitola 9 Numerické derivování Definice: Existuje-li pro danou funkci f : R! R vlastní (tj konečná) limita říkáme, že funkce f(x) má v bodě a derivaci Příslušnou limitu značíme f 0 (a) f(a + ) f(a) lim!0 Poznámka: Geometrický význam derivace f 0 (a) je směrnice tečny křivky dané rovnicí y = f(x) v bodě a (nebot tečna v bodě a je limitní poloou sečny pro! 0) Fyzikálně značí derivace funkce y = f(x), kde x je čas a y dráa poybu, limitu z průměrné ryclosti, tedy okamžitou ryclost v čase a Poznámka: Pro danou funkci f(x) vyjadřuje derivace f 0 (x 0 ) míru stoupání, resp klesání v bodě x 0

Způsoby odvození vzorců pro výpočet derivace Odvození pomocí interpolačnío polynomu Pro funkci f, která je zadána tabulkou, sestrojíme interpolační polynom a derivaci funkce f v bodě a ztotožníme s derivací tooto interpolačnío polynomu v bodě a Poznámky: - Stupeň polynomu nemůže být nižší než řád počítané derivace - Pro jednoducost ledáme odnotu derivace v uzlovém bodě a navíc uvažujeme ekvidistantní uzly s krokem

2 Odvození pomocí Taylorova rozvoje Pro dostatečně ladkou funkci f platí (pro > 0): f(x 0 + ) = f(x 0 ) + f 0 (x 0 ) + 2 f 00 ( ); 2 (x 0 ; x 0 + ) 2 f(x 0 ) = f(x 0 ) f 0 (x 0 ) + 2 f 00 ( 2 ); 2 2 (x 0 ; x 0 ) 2 Z první rovnice potom plyne vzta f 0 (x 0 ) = f(x 0 + ) f(x 0 ) = D P f(x 0 ; ) 2 f 00 ( ) Podobně ze drué rovnice f 0 (x 0 ) = f(x 0) f(x 0 ) = D L f(x 0 ; ) + 2 f 00 ( 2 ) Obdrželi jsme dva základní dvoubodové vzorce D P f(x 0 ; ) a D L f(x 0 ; ), tzv pravou a levou poměrnou diferenci Podobně odvodíme další vzorce pomocí Taylorova rozvoje vyššíc řádů Platí: f(x 0 + ) = f(x 0 ) + f 0 (x 0 ) + 2 2 f 00 (x 0 ) + 3 6 f 000 ( ); 2 (x 0 ; x 0 + ) Po odečtení obdržíme: f(x 0 ) = f(x 0 ) f 0 (x 0 ) + 2 2 f 00 (x 0 ) 3 6 f 000 ( 2 ); 2 2 (x 0 ; x 0 ) f(x 0 + ) f(x 0 ) = 2f 0 (x 0 ) + 3 6 (f 000 ( ) + f 000 ( 2 )) Odtud vyjádříme první derivaci a získáme tříbodový vzorec D C f(x 0 ; ), tzv centrální poměrnou diferenci f 0 (x 0 ) = f(x 0 + ) f(x 0 ) 2 D C f(x 0 ; ) 2 2 (f 000 ( ) + f 000 ( 2 )) 2 6 f 000 ()

Uvedené vzorce jsou pro výpočet první derivace f 0 (x 0 ) Pro výpočet drué derivace f 00 (x 0 ) lze použít například vzorec, který dostaneme po sečtení vztaů: f(x 0 + ) = f(x 0 ) + f 0 (x 0 ) + 2 2 f 00 (x 0 ) + 3 6 f 000 (x 0 ) + 4 24 f (4) ( ); 2 (x 0 ; x 0 + ) f(x 0 ) = f(x 0 ) f 0 (x 0 ) + 2 2 f 00 (x 0 ) 3 6 f 000 (x 0 ) + 4 24 f (4) ( 2 ); 2 2 (x 0 ; x 0 ) f(x 0 + ) + f(x 0 ) = 2f(x 0 ) + 2 f 00 (x 0 ) + 4 24 (f (4) ( ) + f (4) ( 2 )) Odtud vyjádříme druou derivaci a získáme tříbodový vzorec pro druou derivaci

f 00 (x 0 ) = f(x 0 + ) 2f(x 0 ) + f(x 0 ) 2 2 24 (f (4) ( ) + f (4) ( 2 )) 2 2 f (4) () Poznámka: Samozřejmě lze odvodit řadu dalšíc vzorců, přičemž platí, že čím více bodů použijeme, tím bude řád cyby vyšší Příklad: Pomocí uvedenýc tří vzorců vypočtěte přibližnou odnotu první derivace funkce f(x) = e x ( x) v bodě x 0 = Použijte krok = 0; Řešení: Nejprve si pro kontrolu analyticky zjistíme přesnou odnotu první derivace funkce f bodě x 0 f 0 (x) = e x ( x) + e x ( ) = xe x ; tj f 0 () = e = e 2; 782 Nyní použijeme pravou, levou a centrální poměrnou diferenci: 2 3 D P f(x 0 ; f(x 0 + ) f(x 0 ) ) = = e; ( ; ) e ( ) = 0; 0; e; = = e ; 3; 004 (cyba 0; 2858) 0; D L f(x 0 ; f(x 0) f(x 0 ) ) = = e ( ) e 0;9 ( 0; 9) = 0; 0; e0;9 = = e 0;9 2; 4596 (cyba 0; 2586) 0; D C f(x 0 ; f(x 0 + ) f(x 0 ) ) = 2 0; = e; 0; e 0;9 = 0; 2 = e; ( ; ) e 0;9 ( 0; 9) = 0; 2 e ; + e 0;9 2; 738 2 (cyba 0; 036) Všimněme si velikosti cyb v jednotlivýc případec Potvrzuje se fakt, že cyba prvníc dvou (dvoubodovýc) vzorců je řádu, tj v řádu desetin a cyba poslednío (tříbodovéo) vzorce je řádu 2, tj v řádu setin

Podmíněnost úloy numerickéo derivování Uvažujme nyní např vzorec s pravou diferencí D P f(x 0 ; ), tj platí f 0 (x 0 ) = f(x 0 + ) f(x 0 ) D P f(x 0 ; ) f 00 () 2 cyba metody Cybu metody označme r Platí-li jf 00 (x)j < M pro x 2 (x 0 ; x 0 + ), potom jr j M 2 Musíme uvážit cyby měření (zaokroulovací cyby) - označíme r 2 Označíme-li f(x 0 ); f(x 0 + ) : : : : : : přesné odnoty f? (x 0 ); f? (x 0 + ) : : : : : : vstupní odnoty Potom pro r 2 platí r 2 = f(x 0 + ) f(x 0 ) přesná odnota vzorce f? (x 0 + ) f? (x 0 ) vypočtená odnota vzorce A dále jr 2 j = f(x 0 + ) f? (x 0 + ) f? (x 0 ) f(x 0 ) + jf(x 0 + ) f? (x 0 + )j + jf? (x 0 ) f(x 0 )j " + " = 2" Využili jsme zde odady jf? (x 0 + ) f(x 0 + )j " jf? (x 0 ) f(x 0 )j " číslo " může představovat např strojovou přesnost Pro celkovou cybu r potom platí jrj jr j + jr 2 j M 2 + 2"

Úloa numerickéo derivování je špatně podmíněná! (pro zmenšující se roste cyba) Lze najít optimální krok opt V následujícíc příkladec ukažte cybu 3 odvozenýc vzorců pro výpočet první derivace funkce f(x) v bodě x 0 při použití kroků = 0 6 ; 0 5 ; : : : ; 0 Příklad f(x) = sin x, x 0 =

Příklad 2 f(x) = sin x, x 0 = Příklad 3 f(x) = e x, x 0 =

Příklad 4 f(x) = e x, x0 = Poznámka: Na základě špatné podmíněnosti se zdá, že nebude možné při výpočtu derivace dosánout libovolné přesnosti Zvýšení přesnosti ale můžeme dosánout ) použitím vzorce s cybou vyššío řádu 2) použitím tzv Ricardsonovy extrapolace

Ricardsonova extrapolace Jde o obecný princip, který se používá nejen u numerickéo derivování Myšlenka vycází z too, že na základě znalosti výrazu pro rozvoj cyby využijeme dvou přibližnýc výsledků k získání třetío, který bude přesnější Tento proces eliminace cyb budeme demonstrovat např na poměrné centrální diferenci D C f(x 0 ; ) Vyjdeme z Taylorova rozvoje: () f(x 0 +) = f(x 0 )+f 0 (x 0 )+ 2 f 00 (x 0 )+ 3 f 000 (x 0 )+ 4 f (4) (x 0 )+ 5 f (5) ( ) 2 6 24 5! (2) f(x 0 ) = f(x 0 ) f 0 (x 0 )+ 2 2 f 00 (x 0 ) 3 6 f 000 (x 0 )+ 4 24 f (4) (x 0 ) 5 5! f (5) ( 2 ) () (2) f(x 0 +) f(x 0 ) = 2f 0 (x 0 )+ 3 f 000 (x 0 )+ 5 f (5) ( ) + f (5) ( 2 ) 3 5! O( 5 ) f(x 0 + ) f(x 0 ) = f 0 (x 0 ) + 2 2 f 000 (x 0 ) + O( 4 ) ~ 6 D C f(x 0 ; ) Stejný vzorec použijeme pro výpočet s krokem = 2 D C f(x 0 ; ) = f 0 (x 0 ) + 2 6 f 000 (x 0 ) + O( 4 ) D C f(x 0 ; 2) = f 0 (x 0 ) + 4 2 6 f 000 (x 0 ) + O( 4 ) ~~ Podtržené členy cceme eliminovat rovnici ~ vynásobíme 4 Odečteme ~~ 4D C f(x 0 ; ) = 4f 0 (x 0 ) + 4 2 f 000 (x 0 ) + O( 4 ) 6 D C f(x 0 ; 2) = f 0 (x 0 ) + 4 2 f 000 (x 0 ) + O( 4 ) 6 4D C f(x 0 ; ) D C f(x 0 ; 2) = 3f 0 (x 0 ) + O( 4 ) f 0 (x 0 ) = 4D Cf(x 0 ; ) D C f(x 0 ; 2) 3 + O( 4 )

nebo jinak zapsáno f 0 (x 0 ) = D C f(x 0 ; ) + D Cf(x 0 ; ) D C f(x 0 ; 2) 3 + O( 4 ) Poznámka: Tímto způsobem jsme eliminovali cybu řádu 2 Algoritmus Ricardsonovy extrapolace lze samozřejmě použít opakovaně pro eliminaci cyb vyššíc řádů Tato metoda je potom velmi efektivní Pokud bycom ctěli stejným způsobem eliminovat cybu řádu např 4, potom bycom dostali: D C f(x 0 ; ) = f 0 (x 0 ) + K 4 2 4 a odečteme 2 rovnici D C f(x 0 ; 2) = f 0 (x 0 ) + K2 4 4 f 0 (x 0 ) = 24 D C f(x 0 ; ) D C f(x 0 ; 2) 2 4 f 0 (x 0 ) = D C f(x 0 ; ) + 2 4 (D Cf(x 0 ; ) D C f(x 0 ; 2)) Pro eliminaci cyb vyššíc řádů postupujeme analogicky, tj místo 4 použijeme příslušný řád Poznámka: V názvu metody se objevuje slovo extrapolace Je to proto, že nová odnota derivace je lineární kombinací dvou odnot, ovšem neleží mezi těmito odnotami (kdyby tomu tak bylo, mluvili bycom o interpolaci) Koeficienty lineární kombinace samozřejmě jsou v součtu rovny jedné, ale koeficient u vzorce s krokem je kladný a koeficient u vzorce s krokem 2 je záporný

Při určování rozvoje cyb jednotlivýc vzorců vycázíme z Taylorova rozvoje funkce f Rozvoj cyby pro D P f(x 0 ; ) a D L f(x 0 ; ) () f(x 0 +) = f(x 0 ) + f 0 (x 0 ) + 2 f 00 (x 0 ) + 3 f 000 (x 0 ) + 4 f (4) (x 0 ) + 5 2 6 24 20 f (5) ( ); 2 (x 0 ; x 0 +) (2) f(x 0 ) = f(x 0 ) f 0 (x 0 ) + 2 2 f 00 (x 0 ) 3 6 f 000 (x 0 ) + 4 24 f (4) (x 0 ) 5 20 f (5) ( 2 ); 2 2 (x 0 ; x 0 ) () ) f 0 (x 0 ) = f(x 0 + ) f(x 0 ) D P f(x 0 ; ) 2 f 00 (x 0 ) c 2 6 f 000 (x 0 ) c 2 2 3 24 f (4) (x 0 ) c 3 3 4 20 f (5) ( ) O( 4 ) (2) ) f 0 (x 0 ) = f(x 0) f(x 0 ) D L f(x 0 ; ) + 2 f 00 (x 0 ) c 2 6 f 000 (x 0 ) c 2 2 + 3 24 f (4) (x 0 ) c 3 3 4 20 f (5) ( 2 ) O( 4 ) Rozvoj cyby pro D C f(x 0 ; ) f(x 0 +) = f(x 0 ) + f 0 (x 0 ) + 2 f 00 (x 0 ) + 3 f 000 (x 0 ) + 4 f (4) (x 0 ) + 5 f (5) (x 0 ) + 6 f (6) (x 0 ) + 7 f (7) ( ); 2 6 24 20 720 7! 2 (x 0 ; x 0 + ) f(x 0 ) = f(x 0 ) f 0 (x 0 ) + 2 2 f 00 (x 0 ) 3 6 f 000 (x 0 ) + 4 24 f (4) (x 0 ) 5 20 f (5) (x 0 ) + 6 720 f (6) (x 0 ) 7 7! f (7) ( 2 ); 2 2 (x 0 ; x 0 ) Po odečtení: f(x 0 + ) f(x 0 ) = 2f 0 (x 0 ) + 3 3 f 000 (x 0 ) + 60 5 f (5) (x 0 ) + 7 f (7) ( ) + f (7) ( 2 ) 7! = O( 7 ) f 0 (x 0 ) = f(x 0 + ) f(x 0 ) 2 D C f(x 0 ; ) 6 2 f 000 (x 0 ) c 2 20 4 f (5) (x 0 ) c 2 4 6 7! 2f (7) () O( 6 )

Algoritmus Ricardsonovy extrapolace Na základě znalosti rozvoje cyby příslušnéo vzorce můžeme pro zpřesňování odnoty vypočtené derivace použít následující algoritmus Algoritmus (např pro vzorec D C f) Pro s = 0; ; 2; : : : ; S T s;0 = D c f(x 0 ; 2 s ) Pro k = ; 2; : : : ; s T s;k = T T s;k T s ;k s;k + 4 k {z} ( ) ( ) 4 k = 2 2k, protože v rozvoji cyby tooto vzorce jsou pouze sudé mocniny Scéma T 00 2 T 0 T 4 T 20 T 2 T 22 8 T 30 T 3 T 32 T 33 Poznámka: Pokud se např rovnají T 22 a T 32, nemusíme počítat T 33, protože vyjde stejně Příklad: Použijte opakovanou Ricardsonovu extrapolaci pro výpočet derivace funkce f(x) = ln x v bodě x 0 = 3 pomocí centrální poměrné diference s kroky = 0; 8; 0; 4; 0; 2 a 0; Řešení: Ukázali jsme, že pro dostatečně ladkou funkci f platí vzta f 0 (x 0 ) = f(x 0 + ) f(x 0 ) 2 D C f(x 0 ; ) kde čísla c, c 2, c 3 představují kontanty obsaující příslušné derivace + c 2 + c 2 4 + c 3 6 + : : :; rozvoj cyby Výsledky zapíšeme přeledně do tabulky:

f 0 (x 0 ; ) korekce [ 4 ; 6 ] 2 korekce [ ; ] 3 3 5 5 0; 8 0; 34589 0; 4 0; 335329 0; 2 0; 333828 0; 0; 333456 4 0; 335329 0; 34589 = 3 3 = 0; 333242 4 0; 333828 0; 335329 = 6 0; 333327 0; 333242 = 3 3 5 5 = 0; 333327 = 0; 333332 4 0; 333456 0; 333828 = 6 0; 333332 0; 333327 = 3 3 5 5 = 0; 333332 = 0; 333332 Ve výpočtu jsme použili jednak korekci pro eliminaci cyby řádu 2, ale dále také 2 korekci, která eliminovala cybu řádu 4 V tabulce cybí sloupec pro 3 korekci Důvod je ten, že se odnoty, ze kterýc by se extrapolovala nová odnota, rovnají (dostali bycom to samé číslo) Pro úplnost dodejme, že přesná odnota derivace je f 0 (x) = x, tj f 0 (3) = 3 Pomocí následujícíc výsledků lze porovnat efektivitu při použití různýc vzorců výsledky v MATLABu >> derivace_ricardson( D_P, -sin(exp(x)),, 04, 3); ---------------------------------------------------------------- Vypocte odnotu prvni derivace zadane funkce f=-sin(exp(x)) v bode x0=000000 s kroky =[04, 02, 0, 005] Pro vypocet se pouzije vzorec prave pomerne diference D_P Ke zpresneni se pouzije Ricardsonova extrapolace ---------------------------------------------------------------- =============================================================================! D_P(f,x0,) korekce 2korekce 3korekce 040000 3006234654 020000 294793905 287735356 00000 2737868276 2533942647 249472477 005000 262795286 2487722295 24723552 247986457 Presna odnota derivace funkce f v bode x0 je 2478349732955 výsledky v MATLABu

>> derivace_ricardson( D_L, -sin(exp(x)),, 04, 3); ---------------------------------------------------------------- Vypocte odnotu prvni derivace zadane funkce f=-sin(exp(x)) v bode x0=000000 s kroky =[04, 02, 0, 005] Pro vypocet se pouzije vzorec leve pomerne diference D_L Ke zpresneni se pouzije Ricardsonova extrapolace ---------------------------------------------------------------- =============================================================================! D_L(f,x0,) korekce 2korekce 3korekce 040000 394507747 020000 920950 24297453 00000 29557509 2479039089 2495480735 005000 2338245228 248095437 248540886 2479549479 Presna odnota derivace funkce f v bode x0 je 2478349732955 výsledky v MATLABu >> derivace_ricardson( D_C, -sin(exp(x)),, 04, 3); ---------------------------------------------------------------- Vypocte odnotu prvni derivace zadane funkce f=-sin(exp(x)) v bode x0=000000 s kroky =[04, 02, 0, 005] Pro vypocet se pouzije vzorec centralni pomerne diference D_C Ke zpresneni se pouzije Ricardsonova extrapolace ---------------------------------------------------------------- =============================================================================! D_C(f,x0,) korekce 2korekce 3korekce 040000 22003720 020000 2426952427 2502479503 00000 246672648 2479978054 2478477958 005000 2475520257 247845327 247835465 2478349457 Presna odnota derivace funkce f v bode x0 je 2478349732955

Aproximaci derivace funkce jsme již použili např u odvození metody sečen z Newtonovy metody Newtonova metoda x k+ = x k f(x k ) f 0 (x k ) f 0 (x k ) f(x k) f(x k ) x k x k metoda sečen x k x k x k+ = x k f(x k ) f(x k ) f(x k ) Metoda konečnýc diferencí jeden ze způsobů řešení okrajovýc úlo Řešme okrajovou úlou (ODR 2řádu) u 00 + q(x)u = f(x) x 2 (0; ) u(0) = g 0 ~ u() = g q; f dané funkce definované a spojité na 0; i, q(x) 0 g 0 ; g daná čísla () úloa má právě klasické řešení) Interval 0; i rozděĺıme na N stejnýc podintervalů (ekvidistantní sít ) S = fx i = i; i = 0; ; : : : ; Ng : : : sít ; : : : krok sítě Přibližné řešení konstruujeme jako funkci diskrétnío argumentu x i Přibližné řešení je určeno vektorem U = [U 0 ; U ; U 2 ; : : : ; U N ; U N ], kde složky U i aproximují odnoty u(x i ) přesnéo řešení v uzlec sítě

Klasické řešení splňuje rovnici ~ v každém bodě x 2 (0; ), tj u 00 (x) + q(x)u(x) = f(x) Na 0; i jsme zvolili rovnoměrnou sít S a v každém vnitřním bodě této sítě musí platít: u 00 (x i ) + q(x i )u(x i ) = f(x i ); i = ; 2; : : : ; N ~~ druou derivaci aproximujeme druou poměrnou diferencí u 00 (x i ) " u(xi + ) u(x i ) # u(x i ) u(x i ) = i u(xi ) 2u(x 2 i ) + u(x i + ) soustavu ~~ naradíme soustavou přibližnýc rovností tj 2 [u(x i ) 2u(x i ) + u(x i + )] + q(x i )u(x i ) f(x i ) 2 (U i 2U i + U i+ ) + q(x i )U i = f(x i ) i = ; 2; : : : ; N U 0 = g 0 U N = g soustava diferenčníc rovnic Neznáme odnoty uvnitř intervalu, tj v x ; x 2 ; : : : ; x N V první rovnici figuruje odnota U 0, ta je ale rovna g 0 a tento člen převedeme na pravou stranu Obdobně pro poslední rovnici, za U N dosadíme g N a převedeme na pravou stranu Získaná soustava: 2 2 6 4 2 + 2 q 0 : : : 0 2 + 2 q 2 0 : : : 0 0 2 + 2 q 3 0 0 2 + 2 q N 2 0 0 : : : 0 2 + 2 q N A 3 2 U U 2 U 3 3 7 6 7 5 4 5 U N U = 2 6 4 f + g0 2 f 2 f 3 3 7 5 g f N {z 2 } F

Soustava lineárníc algebraickýc rovnic AU = F A symetrická, třídiagonální, pozitivně definitní () regulární) - symetrie matice je důsledek symetrie použité diferenční aproximace u 00 a očíslování uzlů (zde je vše přirozené, význam u parciálníc diferenciálníc rovnic) - pro regulární matici soustavy 9! řešení Otázky: S jakou přesností přibližné řešení aproximuje přesné řešení? Zmenšuje se cyba přibližnéo řešení, zjemňujeme-li sít, tj! 0? Poznámka: Pro aproximaci derivací lze samozřejmě použít i jiné vzorce Použijeme-li např vzorec 7, bude výsledná matice soustavy opět pásová, šíře pásu bude nyní 5 Ukažme si jak postupovat při diskretizaci úloy s derivací v okrajové podmínce Je-li na některém z konců intervalu zadána Neumannova nebo Newtonova okrajová podmínka, musíme předcozí postup modifikovat, nebot neznáme odnotu u(0) nebo u() V takovém případě musíme sestavit také diferenční aproximaci příslušné okrajové podmínky a připojit ji k soustavě diferenčníc rovnic, jež ve vnitřníc uzlec aproximují diferenciální rovnici Ukážeme tři takové možné aproximace pro řešení následující úloy

u 00 + q(x)u = f(x) x 2 (0; ) 0 u(0) 0 u 0 (0) = g 0 0 > 0 () u() = g Ve vnitřníc uzlec sítě aproximujeme diferenciální rovnici () stejnými diferenčními rovnicemi jako v předcozím případě 2 (U i 2U i + U i+ ) + q(x i )U i = f(x i ) i = ; 2; : : : ; N V těcto rovnicíc vystupují neznámé U 0 ; U ; : : : ; U N ; U N Abycom dostali stejný počet rovnic jako neznámýc, musíme tedy (na základě okrajovýc podmínek) k získaným N rovnicím ještě 2 rovnice připojit Jednu z nic dostaneme z Diricletovy okrajové podmínky v bodě x = tak, že položíme U N = g Levou okrajovou podmínku (v bodě x = 0) můžeme zužitkovat různými způsoby způsob Aproximujeme-li u(0) pomocí vzorce (tj pravé poměrné diference), dojdeme k diferenční rovnici 0 U 0 0 U U 0 = g 0 ( 0 6= 0); kterou klasické řešení splňuje s cybou velikosti O() Rovnici vynásobíme číslem =( 0 ) a upravíme na tvar 2 i 0 ( + )U 0 U g 0 = ; 0 0 tuto úpravu děláme proto, aby výsledná matice soustavy sít ovýc rovnic byla symetrická Předcozí rovnici přidáme k získaným diferenčním rovnicím a dosadíme g za U N Dostaneme opět soustavu lineárníc algebraickýc rovnic se symetrickou třídiagonální maticí (pozor: U = [U 0 ; U ; : : : ; U N ] T ) 2 2 + 0 6 4 0 0 : : : 0 2 + 2 q 0 : : : 0 0 2 + 2 q 2 0 0 2 + 2 q N 2 0 0 : : : 0 2 + 2 q N 3 2 U 0 U U 2 7 6 5 4 U N Matice soustavy je řádu N a lze dokázat, že je regulární Přibližné řešení lze proto jednoznačně stanovit a dá se ukázat, že jeo cyba je velikosti O() Tato skutečnost, tj snížení řádu cyby metody, možná překvapí, nebot sít ová rovnice pro všecny uzly s výjimkou x 0 aproximuje diferenciální rovnici s diskretizační cybou O( 2 ) Přesto však okolnost, že jsme se v jediné rovnici dopustili diskretizační cyby velikosti O(), ovlivní velikost cyby metody nejen v bĺızkosti bodu x 0, ale ve všec bodec sítě Jde tu o jev, který je pro užití diferenční metody typický a ukazuje, že cceme-li využít přesnosti, s níž jsme aproximovali diferenciální rovnici samotnou, musíme stejně přesně aproximovat i okrajové podmínky 3 = 7 5 2 6 4 f N g 0 0 f f 2 f N 2 3 7 5 g 2

2způsob Bezprostřední možnost přesnější nárady odnoty derivace v okrajové podmínce spočívá v užití vzorců 4 a 5 z tabulky Tyto aproximace mají pro u 2 C 3 diskretizační cybu O( 2 ) Vzniklá soustava diferenčníc rovnic však již není třídiagonální, není symetrická a navíc se při jejím řešení standardními metodami moou vyskytnout numerické problémy Proto tento postup nedoporučujeme 3způsob Hodnotu u 0 (0) aproximujeme pomocí vzorce 3 (centrální poměrná diference) kde x = u 0 (0) i u(x ) u(x ) ; 2 Cyba aproximace je druéo řádu Okrajovou podmínku 0 u(0) 0 u 0 (0) = g 0 tak naradíme diferenční rovnicí U U 0 U 0 0 = g 0 ( 0 6= 0): (~) 2 Je zde však navíc další neznámá U a potřebujeme proto připojit ještě jednu rovnici Nejjednodušeji to provedeme tak, že žádáme platnost rovnice pro vnitřní uzly i pro raniční uzel x 0, tj platnost rovnice 2 (U 2U 0 + U ) + q(x 0 )U 0 = f(x 0 ): (}) (Jde vlastně o aproximaci diferenciální rovnice v bodě x 0 = 0) Fiktivní odnotu U,která nemá význam aproximace přesnéo řešení naší okrajové úloy (nebot toto řešení uvažujeme pouze na intervalu 0; i), z rovnic (~), (}) vyloučíme dosadíme U = 2 q0 U 0 f 0 + 2U 0 U ; U 2 (q 0 U 0 f 0 ) 2U 0 + U 0 U 0 0 2 a dospějeme k diferenční rovnici = g 0 0 + U U 0 0q 0 U0 0 = g 0 + 2 0f 0 ; 2 která aproximuje okrajovou podmínku v bodě x 0 = 0 a kterou dostatečně ladké přesné řešení naší okrajové úloy splňuje s cybou řádové velikosti O( 2 ) Rovnici upravíme na tvar 2 ( 0 + + i 0 2 2 q 0 )U 0 U g 0 = + f 0 0 2 a připojíme ji k diferenčním rovnicím pro vnitřní uzly Dá se ukázat, že cyba přibližnéo řešení je v tomto případě velikosti O( 2 )