Numerické integrace některých nediferencovatelných funkcí Ústav matematiky a biomatematiky Přírodovědecká fakulta Jihočeské univerzity v Českých Budějovicích 2. prosince 2014 Školitel: doc. Dr. rer. nat. Ing. Jan Valdman
Cíl práce Cílem zadané bakalářské práce je přesná numerická integrace (kvadratura) některých nediferencovatelných funkcí. Je například známo, že za pomoci lichoběžníkového pravidla lze přesně integrovat po částech afinní funkce. To již třeba pro absolutní hodnotu takové funkce neplatí. V matematickém programu Matlab bude sestavena knihovna pro přesnou kvadraturu některých nediferencovatelných funkcí v jedné, případně dvou dimenzích. Dále se předpokládá použití knihovny na úlohy minimalizace určitých energetických funkcionálů v mechanice.
Kvadratura funkcí jedné proměnné Analýza problému: 1 aplikace lichoběžníkového pravidla na diferencovatelné funkce 2 aplikace lichoběžníkového pravidla na některé nediferencovatelné funkce Výpočetní hledisko: 1 návrh algoritmu pro výpočet num. integrálu nedif. funkce 2 zápis algoritmu v prostředí MATLAB, testování a zrychlování algoritmu
Lichoběžníkové pravidlo Uvažujme funkci f (x) definovanou na intervalu a, b, a b. Pro odhad H hodnoty b a f (x)dx můžeme využít tzv. lichoběžníkové pravidlo. Při tom aproximujeme funkci f (x) funkcí g(x) s lineárním průběhem ve tvaru g(x) = f (a) f (b) a b (x a) + f (a) (1) a následně řešíme H = b a g(x)dx. Chyba C tohoto odhadu je pak dána jako b C = (f (x) g(x)) dx (2) a Je-li funkce f (x) na intervalu a, b lineární, ve všech bodech diferencovatelná, pak C = 0.
Pro snížení chyby odhadu bývá výhodné rozdělit interval a, b n dělícími body na (n 1) podintervalů tvaru x i, x i+1, i = 1...n, kde a = x 1 < x 2 <... < x n = b a platí n 1 i=1 x i, x i+1 = a, b. Odhad H je potom dán jako chyba odhadu C jako Platí, že n 1 H = (x i+1 x i ) f (x i) + f (x i+1 ), (3) 2 i=1 b C = H + f (x)dx. (4) a lim C = 0 n
Příklad 1 5 Je dána funkce f (x) = x + π, nalezněte hodnotu I = f (x) dx. 1 Pozn.: ukázat lich. pravidlo v okolí průsečíku, vysvětlit algoritmy funkcí trapzplus, trapzminus a trapzabs
P = [p x, 0] p x = 1 + (5 1) f (1) f (1) + f (5) = π I = 1 [(px 1) f (1) + (5 px ) f (5) ] = 13 6π + π2 2 kontrola pomocí nalezení primitivní funkce: π 5 I = ( x + π)dx + (x π)dx = 13 6π + π 2 1 π
Příklad 2 5 Je dána funkce f (x) = x 2 + π, nalezněte hodnotu I = f (x) dx a porovnejte ji s 5 numerickým odhadem. 5 I = f (x) dx = 8 5 3 π 3 2 10π + 250 3 66.76628145565 Vývoj num. odhadu a jeho chyby v závislosti na počtu dělících bodů n H C t (s) 11 67.20805680773 4.418 e-01 3.560 e-04 21 66.88787936274 1.216 e-01 9.148 e-05 41 66.79730838475 3.100 e-02 8.922 e-05 81 66.77398593114 7.703 e-03 9.647 e-05 161 66.76818710688 1.900 e-03 1.023 e-04 321 66.76675334227 4.719 e-04 2.853 e-04 641 66.76639995218 1.185 e-04 1.517 e-04 1 281 66.76631103343 2.958 e-05 2.051 e-04 n H C t (s) 2 561 66,76628885292 7.397 e-06 3.374 e-04 5 121 66.76628330591 1.805 e-06 6.354 e-04 327 681 66.76628145587 2.190 e-10 3.350 e-02 655 361 66.76628145578 1.321 e-10 6.630 e-02 1 310 721 66.76628145593 2.813 e-10 1.354 e-01 2 621 441 66.76628145570 5.370 e-11 2.676 e-01 5 242 881 66.76628145565 4.939 e-13 5.370 e-01 n - počet dělících bodů intervalu, H - numerický odhad hodnoty I, C - chyba odhadu (C = H I), t - doba výpočtu
Kvadratura funkcí dvou proměnných Analýza problému: 1 seznámení se s metodou triangulace 2 aproximace grafu funkce pomocí triangulace, výpočet objemu tělesa pod trojúhelníky 3 řešení průniku grafu funkce s rovinou z = 0 Výpočetní hledisko: 1 návrh algoritmu pro výpočet kvadratury funkce 2 zápis algoritmu v prostředí MATLAB 3 testování a zrychlování algoritmu, kreslení grafu
Příklad 3 Na oblasti Ω omezené nerovnostmi 4 < x < 4, 4 < y < 4 je dána funkce f (x, y) = x sin(y), nalezněte hodnotu I = f (x) dxdy a porovnejte ji s Ω numerickým odhadem. Průsečnice f (x, y) s rovinou z = 0 je dána křivkou x sin(y) = 0. 4 4 4 sin(y) I = (x sin(y))dxdy + (sin(y) y)dxdy 4 sin(y) 4 I = 132 sin(8) 2 131.5053208766 4
Cíl práce Funkce jedné proměnné Funkce dvou proměnných 1 Závěr 3 2 1 32 elementů 2 128 elementů 3 512 elementů
Cíl práce Funkce jedné proměnné Funkce dvou proměnných 1 Závěr 3 2 1 2048 elementů 2 2048 elementů, zřejmá průsečnice 3 8192 elementů
I = 132 sin(8) 2 131.5053208766 Vývoj num. odhadu a jeho chyby v závislosti na počtu elementů n H C t (s) 8 129,5273333784-1,9779 e+00 2,82015 e-03 32 130,0509801015-1,4543 e+00 2,49135 e-03 128 130,9793584499-5,2596 e-01 1,73556 e-02 512 131,3629726655-1,4234 e-01 2,53093 e-02 2 048 131,4690398710-3,6281 e-02 4,82093 e-02 8 192 131,4962070010-9,1138 e-03 1,83126 e-01 32 768 131,5030396772-2,2811 e-03 7,45846 e-01 131 072 131,5047504061-5,7047 e-04 2,85786 e+00 524 288 131,5051782483-1,4262 e-04 1,13939 e+01 2 097 152 131,5052852189-3,5657 e-05 4,50604 e+01 n - počet elementů, H - numerický odhad hodnoty I, C - chyba odhadu (C = H I), t - doba výpočtu
Další postup hledání aplikací v mechanice tvorba dokumentace k navrhnutým funkcím sepsání práce Prostor pro dotazy
Děkuji za pozornost.