Předmět: MA4 Dnešní látka: Metoda sítí v 1D. Myšlenka náhrada derivací diferenčními podíly Přibližné řešení okrajových úloh Aproximace vlastních čísel Literatura: Kapitola 2 d) ze skript Karel Rektorys: Matematika 43, ČVUT, Praha, 2001. Text přednášky na webové stránce přednášejícího.
Metoda sítí pro přibližné řešení 1D OÚ a(x)y (x)+b(x)y (x) q(x)y(x) = f(x), x [α,β], a okr. podm. Předpoklady: a, b, q, f C([α,β]), y C 4 ([α,β]) (kvůli odhadům chyby), a(x) a 0 > 0, q(x) 0 x [α,β]. Poznámka: Rovnice (2) je (až na znaménko) obecnější verzí rovnice (p(x)y (x)) + q(x)y(x) = f(x), p(x) p 0 > 0, q(x) 0. Myšlenka: Ekvidistantně rozdělit interval [α, β], α = x 0 < x 1 < < x N = b, x i = α+ih, h = (β α)/n. Požadovat splnění rovnice (1) jen v bodech x i (neužívá se tedy variační formulace!), a to jen přibližně. Místo y (x i ), y (x i ) použít přibližnou derivaci vyjádřenou diferenčním podílem. Sestavit lineární algebraické rovnice pro neznámé Y i, které aproximují y i y(x i ). Vyřešit výslednou soustavu lineárních algeb. rovnic.
Taylorův polynom lokální náhrada funkce f polynomem 2.5 2 1.5 1 0.5 0 0.5 1 1.5 2 0.5 0 0.5 1 1.5 2 f pol. 1 pol. 2 pol. 3 pol. 4 pol. 5 Rozvoj funkce f v okolí bodu ω: f(x) n (x ω) k f(k) (ω) k! k=0
Vyjádření 1. a 2. derivace pomocí Taylorova rozvoje y i+1 = y i + hy (x i )+ h2 2! y (x i )+ h3 3! y (x i )+ h4 4! y(4) (x i +θ + i h), y i 1 = y i hy (x i )+ h2 2! y (x i ) h3 3! y (x i )+ h4 4! y(4) (x i θ i h), kde θ + i (0, 1), θ i (0, 1). (1) (2) y (x i ) = y i+1 y i 1 + R 1, kde R 1 c 1 h 2. 2h (1)+(2) y (x i ) = y i+1 2y i + y i 1 h 2 + R 2, kde R 2 c 2 h 2. Konstanty c 1, c 2 nezávisejí na h a i. (1) (2)
Máme tedy y (x i ) = y i+1 y i 1 2h +O(h 2 ), y (x i ) = y i+1 2y i + y i 1 h 2 +O(h 2 ). Dosadíme do a(x)y (x)+b(x)y (x) q(x)y(x) = f(x) v x = x i ; zavedeme a i = a(x i ), b i = b(x i ), atd. Dostaneme rovnost a i y i+1 2y i + y i 1 h 2 + b i y i+1 y i 1 2h Upravíme (stále jde o přesnou rovnost) y i 1 a i hb i /2 h 2 q i y i = f i +O(h 2 ). y i 2a i + h 2 q i h 2 + y i+1 a i + hb i /2 h 2 = f i +O(h 2 ).
Nyní zanedbáme člen O(h 2 ) a dostaneme sít ovou rovnici pro přibližné uzlové hodnoty Y i 1, Y i, Y i+1 : Y i 1 a i hb i /2 h 2 Y i 2a i + h 2 q i h 2 + Y i+1 a i + hb i /2 h 2 = f i. Rovnici sestavíme v každém vnitřním uzlu x i (a, b). Chyba diskretizace (rozdíl mezi f i a levou stranou, v níž místo Y i 1, Y i, Y i+1 užijeme hodnoty y i 1, y i, y i+1 ) je řádu O(h 2 ). Jsou-li OP dirichletovské, tedy y(α) = y α a y(β) = y β, kde y α, y β R je zadáno, pak hodnoty Y 0 a Y N známe (Y 0 = y α, Y N = y β ) a dostáváme N 1 rovnic pro neznámé Y 1,..., Y N 1. Jsou-li v OP derivace, můžeme je aproximovat diferenčními podíly (Y 1 Y 0 )/h a (Y N Y N 1 )/h, dopustíme se však chyby diskretizace řádu O(h), tedy větší než O(h 2 ), tato větší chyba se přenáší i na přibližné řešení ve vnitřních bodech sítě.
Chyba metody η h = y h Y h, kde y h = (y 1,..., y N ) T a Y h = (Y 1,..., Y N ) T. Vektor Y h získáme vyřešením soustavy A h Y h = F h, kde F h = (f 1,...,f N ) T. Za předpokladu hladkosti koeficientů rovnice platí: matice A h má "dobré" vlastnosti, existuje právě jedno řešení Y h ; dirichletovské OP, pak η h max C 0 h 2 h (0, h 0 ]; OP s derivací aproximované s chybou O(h), pak η h max C 1 h h (0, h 0 ]; OP s derivací aproximované s chybou O(h 2 ) (tj. přesněji; předpis zde neuveden), pak η h max C 1 h 2 h (0, h 0 ]. Poznámky: Chyba diskretizace OP je velmi významná. Snížení hladkosti řešení a koeficientů vede ke zhoršení odhadů rychlosti konvergence.
Příklad: Řešme y (1+sin 2 x)y = 4, y(0) = 0 = y(π) přibližně metodou sítí s h = π/3. Uzly sítě: x 0 = 0, x 1 = π/3, x 2 = 2π/3, x 3 = π. q 1 = 1+sin 2 x 1 = 1+sin 2 (π/3) = 1+( 3/2) 2 = 1+3/4, q 2 = 1+sin 2 x 2 = 1+sin 2 (2π/3) = 1+( 3/2) 2 = 1+3/4, f 1 = 4, f 2 = 4. Diferenční rovnice Y 0 2Y 1 + Y 2 π 2 9 Y 1 2Y 2 + Y 3 π 2 9 (1+ 3 4 )Y 1 = 4, (3) (1+ 3 4 )Y 2 = 4. (4) Protože z okrajových podmínek plyne Y 0 = 0 = Y 3, jsou (3)-(4) dvě rovnice pro dvě neznámé, tj. Y 1 a Y 2.
Po odečtení 3(Y 2 Y 1 ) 7 4 (Y 2 Y 1 ) = 0, π 2 9 ( 27 π 2 + 7 4 tedy Y 1 = Y 2. Po dosazení do (3)-(4) ) (Y 2 Y 1 ) = 0, Y 1 1, 503 a Y 2 1, 503.
1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 3.5 Přesné řešení červeně, přibližné modře, 4 uzly.
1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 3.5 Přesné řešení červeně, přibližné modře, 5 uzlů.
1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 3.5 Přesné řešení červeně, přibližné modře, 10 uzlů.
1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 3.5 Přesné řešení červeně, přibližné modře, 20 uzlů.
Přednosti metody sítí: dosti obecná rovnice; jednoduchost; soustava s řídkou maticí. Zápory metody sítí: silné předpoklady na hladkost; při oslabení předpokladů na hladkost lze očekávat pomalou konvergenci; problémy s okrajovými podmínkami (2D úlohy).
Problém vlastních čísel a metoda sítí Víme, že vlastní čísla okrajové úlohy u +λu = 0, (5) u(0) = 0, u(π) = 0, (6) jsou λ = 1, 4, 9, 16, 25,... Zkusme je spočítat přibližně. Uzly sítě: x 0 = 0, x 1 = π/3, x 2 = 2π/3, x 3 = π, krok dělení h = π/3. Označme U 1, U 2 hodnoty sít ového řešení v bodech x 1, x 2 a µ aproximaci vlastního čísla λ. Z (5) dostáváme diferenční rovnice kde U 0 = 0, U 3 = 0, viz (6). U 0 2U 1 + U 2 h 2 +µu 1 = 0, U 1 2U 2 + U 3 h 2 +µu 2 = 0,
Po dosazení U 0 = 0 a U 3 = 0 soustavu upravíme 2U 1 + U 2 h 2 +µu 1 = 0, U 1 2U 2 h 2 +µu 2 = 0, ( 2h ) 2 +µ U 1 + 1 h 2 U 2 = 0, 1 h 2 U 1 + ( 2h ) 2 +µ U 2 = 0. ( Soustava má nenulové řešení, pokud 2 ) 2 h 2 +µ 1 h 4 = 0. Tedy µ 2 h 2 = 1 h 2, tj. µ 1 = 1 h 2 0, 9119 a µ 2 = 3 2, 7357. h2
Jiný přístup k soustavě: Soustavu můžeme upravit i takto 2U 1 + U 2 h 2 +µu 1 = 0, U 1 2U 2 h 2 +µu 2 = 0, 2 h 2 U 1 1 h 2 U 2 = µu 1, 1 h 2 U 1 + 2 h 2 U 2 = µu 2 ; dostáváme (a pak řešíme) standardní ( ) problém vlastních čísel 2 1 AU = µu s maticí A = 1. h 2 1 2
Jemnější dělení: např. h = π/5, vektor hodnot ve vnitřních uzlech sítě U = (U 1,...,U 4 ) T. Pak AU = µu, kde 2 1 0 0 A = 1 1 2 1 0 h 2 0 1 2 1. 0 0 1 2 Vlastní čísla (a vlastní vektory) třídiagonální matice. Čím jemnější dělení, tím lepší aproximace (malých) vlastních čísel.
49 36 25 16 9 4 1 n = 2 n = 3 n = 5 n = 10 n = 20 n = 50 n = 100 1 2 3 4 5 6 7 Poradove cislo vlastniho cisla Parametr n udává počet vnitřních uzlů sítě. Je zobrazeno několik malých vlastních čísel odpovídající matice typu n n. S rostoucím n pozorujeme konvergenci k přesným vlastním číslům 1, 4, 9, 16, 25, 36, 49.
Aproximace prvnich tri vl. funkci; sit s 10 vnitr. uzly 1 0.5 0 0.5 1 0 0.5 1 1.5 2 2.5 3
Problém vlastních čísel a metoda sítí. Obecnější případ. Najděme přibližně první dvě vlastní čísla OÚ u +λp(x)u = 0, u(a) = 0, u(b) = 0, kde p je funkce kladná na intervalu [a, b]. Uzly sítě: x 0 = a, x 1 = (b a)/3, x 2 = 2(b a)/3, x 3 = b, krok dělení h = (b a)/3. Zaved me p i = p(x i ), i = 1, 2. Označme U 1, U 2 hodnoty sít ového řešení v bodech x 1, x 2 a µ aproximaci vl. č. λ. Diferenční rovnice 2U 1 + U 2 h 2 +µp 1 U 1 = 0, U 1 2U 2 h 2 +µp 2 U 2 = 0.
upravme ( ) 2 h 2 +µp 1 U 1 + 1 h 2 U 2 = 0, ( ) 1 2 h 2 U 1 + h 2 +µp 2 U 2 = 0. Dvě hodnoty µ tedy najdeme jako řešení kvadratické rovnice ( )( ) 2 2 h 2 +µp 1 h 2 +µp 2 1 h 4 = 0. (Hodnoty p1, p2 a h jsou známé!)
Výchozí rovnice 2U 1 + U 2 h 2 +µp 1 U 1 = 0, U 1 2U 2 h 2 +µp 2 U 2 = 0 můžeme upravit i do této podoby 1 1 p 1 h 2(2U 1 U 2 ) = µu 1, 1 1 p 2 h 2( U 1 + 2U 2 ) = µu 2, v níž již vidíme ( maticový ) problém vlastních čísel, tj. AU = µu, 1 ( ) kde A = 1 p 1 0 2 1 h 2 1. 0 1 2 p 2
Jemnější dělení; maticový zápis. Stejnoměrné dělení s krokem h, body x i, v nich známé hodnoty p i a neznámé hodnoty U i, i = 1,..., n. Pak AU = µu, kde U = (U 1,..., U n ) T, 2 1 0 0... 0 1 2 1 0... 0 A = 1 0 1 2 1 0... h 2 D 1 0............ 0 0... 1 2 1 0 0... 0 1 2 1 0 0... 0 1 2 a p 1 0... 0 0 p 2... 0 D =. 0..... 0. 0... 0 p n