Cvičení - zadání a řešení úloh Zálady numericé matematiy - NMNM0 Verze z 7. prosince 08 Gaussova vadratura Fat, že pro něterá rovnoměrná rozložení uzlů dostáváme přesnost o stupeň vyšší napovídá, že pro vhodně umístěné uzly může mít vadratura vyšší algebraicý stupeň. V Gaussově vadratuře jsou uzly a váhy zvoleny ta, aby řád vadratury byl maximální: pro n uzlů x,..., x n zísáme maximální řád přesnosti n tj. pro prostor dimenze n. Shrnutí myšleny Gaussovy vadratury: Necht f P n, L n je polynom stupně n olmý na P n. Pa existují polynomy q, r P n ta, že platí fx = L n xqx + rx dělení polynomu f polynomem L se zbytem r. Uvažujeme vadraturu s uzly x... x n odpovídajícími ořenům polynomu L. Víme, že vadratura s n uzly a vahami odpovídajícími integrálům lagrangeovým bázovým funcím bude přesná alespoň pro P n. Nyní rozepíšeme integrál a vadraturu polynomu f: If = 0 protože L n P n {}}{ L n xqx + Qf = QL n q + Qr = rx = přesná pro P n {}}{ Ir = Qr, ω i Ln x i qx }{{} i + rx i = Qr. 0 Uzly x,..., x n už tedy nebudou evidistatní, ale zvolíme je jao ořeny n + -ho ortogonálního polynomu na [a, b] tedy polynomu stupně n. Nejznámější ortogonální polynomy jsou tzv. Legendrovy polynomy na [, ] odpovídající salárnímu součinu f, g = fg dx. Zísat je můžeme pomocí Gram-Schmidtovy ortogonalizace polynomů, x, x, x,..., x n. Lze je taé vyjádřit reurentním vztahem: L 0 x =, L x = x, L x = x L x L x, =,,... Když už známe uzly x,..., x n, ja lze zísat váhy vadraturní formule? Váhy jsou integrály lagrangeových bázových funcí. Kvadratura bude přesná pro P n. Pro libovolnou bázi P n zísáme soustavu rovnic viz minulé cvičení. Úloha. Odvod te dvoubodovou Gaussovu vadraturní formuli pro fx dx. Tedy najděte x, x, ω a ω ta, aby vadraturní formule Qf = ω fx + ω fx byla přesná pro polynomy stupně nejvýše. Máme n =, tj. hledáme vadraturní formuli tvaru Qf = ω fx + ω fx.
Uzly x a x si zvolíme jao ořeny Legendrova polynomu L x = x, tj. x = 0 taže vadraturu budeme hledat ve tvaru x = ± => x =, x =, Qf = ω f + ω f. Jeliož n =, vadratura má být přesná pro polynomy stupně nejvýše, proto určení vah ω a ω postupně dosadíme za integrand f = a f = x: Odtud dostaneme dx = = ω + ω, x dx = 0 = ω + ω. ω + ω = 0 ω = => ω =, ω =. Hledaná vadratura je Qf = f + f. Pozorujme, že protože jsou uzly vadratury symetricé, dostáváme podobně jao v předchozím cvičení symetrii vah. Tedy váhy by šly spočítat i ta, že víme, že jejich součet je déla intervalu a navíc jsou symetricé, tedy musí být stejné. Pro numericý výpočet zadaného integrálů na intervalu a, b musíme pomocí lineární substituce bud převést zadaný integrál na integrál na intervalu,, nebo, což je v praxi obvylejší postup, přešálovat vadraturní uzly a váhy. Úloha. Pomocí přešálování uzlů a vah z Úlohy odvod te dvoubodovou Gaussovu vadraturní formuli pro 8 fx dx. [Hint: Využijte vlastnost, že součet všech vah je roven b a.] Navíc Doážete napsat obecný vzorec pro přešálování uzlů a vah z intervalu, na interval a, b? Lze si rozmyslet, že dyž budeme počítat ortogonální polynomy L n ortogonalizací {, x, x,... } na různých intevalech, budeme dostávat funce, teré se budou lišit pouze šálováním budou vynásobené nějaým salárem a roztažené na příslušný interval. Uzly se tedy transformují podle afinní transformace intervalu posunutí plus lineární transformace, tedy se zachovávají poměry mezi úsečami poměry vzdáleností mezi uzly. Hledáme tedy afinní funci fx = ax + b, terá správně zobrazí rajní body intervalu. Dostáváme: x i = x i + + = x i + 5, i =,, x = 5, x = 5 + Váhy se šálují lineárně s délou intervalu. To napřílad proto, že váhy jsou integrály příslušných lagrangeovsých bázových funcí, a ty se šálují lineárně s délou integrálu a na posunutí intervalu vůbec nezávisí. Tedy ω i = ω i, i =,, ω = ω =.
Gaussova vadratura je ta tvaru Qf = f5 + f5 +. Obecné vzorce pro přešálování z intervalu, na interval a, b lze zapsat tato: x i = b a x i + + a, i =,..., n, ω i = b a ω i, i =,..., n. Úloha. Uvažujme vadraturní formuli tvaru fx dx fα + f α. a Pro jaé hodnoty α bude tato vadraturní formule přesná pro všechny polynomy stupně nejvýše? b Pro jaé hodnoty α bude tato vadraturní formule přesná pro všechny polynomy stupně nejvýše? c Pro jaé hodnoty α bude tato vadraturní formule přesná pro všechny polynomy tvaru a + bx + cx + dx 4, de a, b, c, d R? a Pro všechny hodnoty α R. b Pro α = ±/. c Pozor, zadané polynomy neodpovídají žádnému z prostorů P polynomů stupně nejvýše. Protože dvoubodová Gaussova vadratura má maximální řád přesnosti, ani ta nebude pro zadané polynomy přesná. Tedy zadané přesnosti nedosáhneme pro žádné α. To, že opravdu nenalezneme vhodné α plyne z toho, že má-li být vadratura přesná pro funci x, musí být α = ±. Má-li být přesná pro x 4, musí platit α = ± 5. Ty požadavy se ale navzájem vylučují. Složitější řešení inspirované úlohou 4: Necht existuje α taové, že je vadratura Qf přesná pro všechny polynomy tvaru a+bx+cx +dx 4. Pa musí být přesná i pro polynom p = x αx+α. Platí Qp = 0 a Ip > 0. Tedy jsme našli polynom p, terý je tvaru a + bx + cx + dx 4 a zároveň Qp Ip. Spor. Úloha 4 Navíc. Doažte, že nelze najít vadraturu o n uzlech, terá by byla algebraicého řádu n. [Hint: Pro obecnou vadraturu s danými n uzly a vahami najděte polynom stupně n, pro terý tato vadratura nemůže být přesná.] [Hint: Zuste najít polynom, terému sice vadratura přiřadí nulu, ale jeho integrál bude nenulový.] Polynom n x x i stupně n je nezáporný jeho integrál je ladný a má ořeny ve všech uzlech vadratury Qf = 0. Úloha 5 Navíc. Uažte, že váhy Gaussovy vadratury jsou vždy ladné. [Hint: Integrujte vhodně zvolený polynom stupně n, de n je počet uzlů vadratury.] Necht máme Gaussovu vadraturu s n uzly x,..., x n a váhami ω,..., ω n. Tato vadratura je přesná pro polynomy stupně až n. Zvolme jeden z uzlů x i a uvažujme p i x n j=;j i x x j x i x j.
Zřejmě p i x j = 0 pro j i a p i x i =. Polynom p i x stupně n je zřejmě nezáporná funce a daná Gaussova vadratura je pro něj přesná. Dostáváme tedy 0 < b a p i x dx = ω p i x = ω i. = Protože i jsme volili libovolně, dostáváme ω i > 0, i =,..., n. Složené Newton-Cotesovy vzorce Motivace: dostaneme zvyšováním počtu uzlů přesnější vadraturu? Newton-Cotesovy vzorce jsou pro větší n nestabilní, používají se do n 8. Idea složených pravidel: interval [a, b] rozdělíme na něoli podintervalů dély h = x i x i a na aždém z nich použijeme jednoduchou vadraturní formuli. Výslednou vadraturu dostaneme sečtením vadratur na jednotlivých podintervalech. Složené lichoběžníové pravidlo Qf, h = h fx i + fx i = h fx 0 + fx +... + fx n + fx n Chyba Ef, h složeného lichoběžníového pravidla je řádu Oh zmenšíme-li h na polovinu, chyba se zmenší přibližně 4-rát. Ef, h = f ξ i x i x i f max nh = f max b ah Složené Simpsonovo pravidlo Qf, h = h fx i + 4 fx i + fx i+ = h fx 0 + 4fx + fx... + fx n + 4fx n + fx n Chyba Ef, h složeného Simpsonova pravidla je řádu Oh 4 zmenšíme-li h na polovinu, chyba se zmenší přibližně 6-rát. Metoda polovičního rou Cílem následující části je uázat si myšlenu metody polovičního rou, a na záladě té myšleny odvodit příslušné odhady jiným způsobem, než je poněud rypticé odvozování pomocí sčítání lineárních ombinací Taylorových polynomů ve sriptech. Z tohoto způsobu odvození je lépe vidět, dy jsou tyto aposteriorní odhady relevantní a dy ne. Motivace: Nevýhodou apriorního odhadu chyby Ef výše je, že může být velmi nadsazený, nebo nemusíme mít dispozici odhad derivace funce f. Proto hledáme metodu aposteriorního odhadu chyby. Pomocí sriptu compare.m je možno si ověřit, že pro dostatečně malá h chyba sutečně lesá úměrně h p. S lesajícím h se onstanta C stabilizuje blízo jedné hodnoty. Pro určité zdůvodnění jevu je důležité si 4
uvědomit, že ze vzorce Ef, h lze zísat vyjádření onstanty C i jina. Jao přílad použijeme složené lichoběžníové pravidlo: Ef, h = f ξ i x i x i = h f ξ i h = h n f ξ i b a. n }{{} C n f ξ i Tedy onstanta C závisí na průměrech. Ty se při zmenšování h postupně ustálí: odpovídají n jaémusi obdélníovému pravidlu Riemannově součtu pro integrál b f. a Uvažujme metodu polovičního rou. Použijeme vadraturu ze složených vzorců s roem h a h. Dostaneme ta Qf, h a Q f, h. Pomocí těchto dvou spočítaných odhadu budeme chtít spočítat aposteriorní odhad chyby. Z definice chyby složeného Newton-Cotesova vzorce víme, že platí vztah Zároveň ale nutně platí vztah If = Qf, h + Ef, h = Qf, h + C h. If = Q f, h + E f, h = Q f, h h + C. Předpoládejme, že platí rovnost C = C a označme tuto onstantu jednoduše C. Potom odečtením rovnice od rovnice zísáme: Q f, h Qf, h = Ch. Úloha 6. Víme, že chyba složeného lichoběžníového pravidla s roem h je Ch. Použijte rovnici pro výpočet onstanty C. Poté dosad te onstantu C do rovnice a a odhadněte chyby If Qf, h, respetive If Q f, h, pomocí rozdílu Q f, h Qf, h. Chyby jednotlivých vadratur tedy jsou C = Q f, h If Qf, h = 4 If Q f, h = Qf, h 4 h Q f, h Qf, h, Q f, h Qf, h. Výslede lze demonstrovat pomocí sriptu halfstep.m. Sript porovnává sutečnou chybu plná čára a chybu odhadnutou pomocí metody polovičního rou přerušovaná čára pro lichoběžníové a Simpsonovo pravidlo. Připraveny jsou stejné funce jao v předchozím sriptu. Úloha 7. Určete, oli nových funčních hodnot fx je potřeba spočítat, poud jsme původně měli jen jeden interval dély h a nyní z něj vytvoříme dva intervaly dély h a používáme a čtyřbodovou Newton-Cotesovu metodu, b čtyřbodovou Gaussovu metodu. a Je potřeba spočítat funční hodnotu ve bodech. b Je potřeba spočítat funční hodnotu ve všech 8 bodech. 5