Matematyka stosowana i metody numeryczne
Transkrypt
Matematyka stosowana i metody numeryczne
Ewa Pabisek Adam Wosatko Piotr Pluciński Matematyka stosowana i metody numeryczne Konspekt z wykładu 10 Całkowanie numeryczne Wzory całkowania numerycznego pozwalają na obliczenie przybliżonej wartości całki: Zb f (x) dx = F (b) − F (a) I(f ) = a Podstawiając w miejsce funkcji podcałkowej f (x) wielomian algebraiczny ϕ(x) = f0 N0 (x) + f1 N1 (x) + · · · + fn Nn (x) = n X fi Ni (x) i=0 otrzymamy tzw. wzór kwadraturowy. 10.1 Kwadratura całkowania Wzorem kwadraturowym (kwadraturą) nazywamy: Zb Zb f (x) dx ≈ I(f ) = a ϕ(x) dx = n X i=0 a Zb fi Ni (x) dx = a n X wi fi = S(f ) i=0 w którym Zb wi = Ni (x) dx, i = 0, 1, 2, . . . , n a są tzw. współczynnikami wagowymi (wagami). Wartość wi określa wielkość udziału rzędnej fi ≡ f (xi ) w wartości całej sumy S(f ) . W zależności od sposobu postępowania przy wyborze położeń węzłów interpolacji w przedziale całkowania kwadratury dzielimy na dwie grupy: 1. kwadratury Newtona - Cotesa, węzły są rozmieszczone równomiernie w całym przedziale całkowania (zamknięte końce) 2. kwadratury Gaussa, węzły są rozmieszczone nierównomiernie, tak aby zminimalizować błąd kwadratury (otwarte końce) 1 10.2 Kwadratury Newtona - Cotessa 10.2.1 Wzór prostokątów Po zastosowaniu interpolacji funkcji podcałkowej f (x) za pomocą wielomianu ϕ(x) = f (x0 ) = const. otrzymujemy Zb Zb f (x) dx ≈ I(f ) = a f (x0 ) dx → S(f ) = (b − a) f (x0 ) (1) a W zależności od wyboru położenia węzła x0 otrzymujemy wzory: a) lewych prostokątów, gdy x0 = a b) środkowych prostokątów, gdy x0 = (a + b)/2 c) prawych prostokątów, gdy x0 = b 10.2.2 Wzór trapezów Jeśli do interpolacji funkcji f (x) zastosujemy interpolację za pomocą wielomianu liniowego Lagrange’a, to otrzymamy wzór kwadraturowy, nazywany wzorem trapezów. Zb f (x) dx ≈ I(f ) = a Zb h Zb h i f0 L0 + f1 L1 dx = a f (a) (2) x−b + f (b) a−b b−a x−ai → S(f ) = b−ah 2 f (a) + f (b) i a 10.2.3 Wzór Simpsona Zastosowanie kwadratowej interpolacji Lagrange’a prowadzi do wzoru: Zb f (x) dx ≈ a Zb h Zb h i f0 L0 + f1 L1 + f2 L2 dx = a f0 (x − c)(x − b) (x − a)(x − b) (x − a)(x − c) i dx + f1 + f2 (a − c)(a − b) (c − a)(c − b) (b − a)(b − c) a Ostatecznie kwadratura (wzór) Simpsona przyjmuje postać: Zb f (x) dx ≈ 1 h f0 + 4 f1 + f2 = S(f ), 3 h= b−a 2 (3) a Wzór Simpsona jest rzędu czwartego, co oznacza, że jest dokładny nie tylko dla wielomianów stopnia drugiego, lecz także dla wielomianów stopnia trzeciego tzn. I(W3 ) = S(W3 ) oraz I(W4 ) 6= S(W4 ) 2 10.3 Kwadratury Gaussa Dokładność kwadratury można zwiększyć rezygnując z warunku równomiernego rozmieszczenia węzłów interpolacji. Wartości wag oraz położenia węzłów całkowania ustala się tak aby kwadratura całkowania przybliżona była wzorem dokładnym dla jednomianu możliwie wysokiego stopnia. n X wi xki = i=0 Zb xk dx, k = 0, 1, 2, . . . , 2n + 1 a W praktyce wagi i punkty Gaussa nie wyznacza się z powyższego warunku. Są one stablicowane dla rodziny pewnych wielomianów ortogonalnych (z wagą) w przedziale < −1, 1 >. l.p. 1 2 ξi , i = 0, . . . , n ξ0 = 0 √ ξ0 = +1/√3 ξ1 = −1/ √ 3 ξ0 = + 0.6 ξ1 = 0 √ ξ2 = − 0.6 ξ0 = +0.86113631 ξ1 = +0.33998104 ξ2 = −0.33998104 ξ3 = −0.86113631 3 4 wi , i = 0, . . . , n w0 = 2 w0 = 1 w1 = 1 w0 = 5/9 w1 = 8/9 w2 = 5/9 w0 = 0.34785485 w1 = 0.65214515 w2 = 0.65214515 w3 = 0.34785485 W ogólnym przypadku gdy liczymy całkę z dowolnego przedziału (a, b), konieczna jest transformacja liniowa między danym przedziałem a przedziałem < −1, 1 >, tak aby można było zastosować dane z tabeli. Wzory na transformację (a, b) → < −1, 1 > ξ= 2x − a − b b−a dξ = ⇔ 2 dx b−a x= ⇔ a+b b−a + ξ 2 2 dx = b−a dξ 2 co daje: Zb b−a f (x) dx = 2 Z1 a+b b−a f + ξ dξ 2 2 −1 a oraz wzór kwadraturowy Gaussa: Zb a n a + b b − a b−aX wi f f (x) dx ≈ + ξi . 2 i=0 2 2 (4) Przykład: Obliczyć S(f ) = Rb f (x) gdy f (x) = 4 · x3 + 5 · x2 + 1 dla a = −1.0, b = 1.0, co oznacza, że a h = b − a = 2, . Zastosować dwupunktową metodę Gaussa (n = 1): 3 Rozwiązanie: w0 = w1 = 1, Zb √ √ ξ0 = 1/ 3, ξ1 = −1/ 3 b−a f (x)dx = 2 Z1 −1 a 1 b−aX f (ξ) dξ ≈ wi f (ξi ) = 2 i=0 a + b b − a 1 i b − ah a + b b − a 1 √ +f √ f + − = 5.33333 2 2 2 2 2 3 3 Wyniki dla przedstawianych wzorów: Wartość dokładna I(f ) 10.4 = 5.3333 Wzór prostokątów: lewych środkowych prawych Postać kwadratury trapezów S(f ) = h 2 Simpsona S(f ) = 1h 32 Gaussa dla n = 1 S(f ) = b−a 2 Wartość S(f ) = h f (a) S(f ) = h f ( a+b ) 2 S(f ) = h f (b) = 4 = 2 = 20 [f (a) + f (b)] = 12 [f (a) + 4 f ( a+b ) + f (b)] = 5.3333 2 1 P wi f (ξi ) = 5.3333 i=0 Wzory złożone (sumacyjne) Bardzo skutecznym sposobem podwyższania dokładności całkowania numerycznego jest dokonanie podziału przedziału [a, b] na podprzedziały [aj , bj ], j = 1, 2, . . . , N przy zachowaniu związków: a1 = a, bN = b, bi = ai+1 , i = 1, 2, . . . , N − 1. Teraz można zapisać: bj Zb I(f ) = f (x) dx = a N Z X f (x) dx = I1 (f ) + I2 (f ) + · · · + IN (f ) j=1 a j Do obliczania każdego składnika Ii (f ) sumy można wykorzystać dowolny wzór kwadraturowy. 10.4.1 Metoda lewych, środkowych i prawych prostokątów Zb f (x)dx ≈ H (a) Zb f (x)dx ≈ H a f (xj−1 ) = H f0 + f1 + f2 + · · · + fN −1 j=1 a (b) N X N X j=1 f( xj − xj−1 ) = H f01 + f12 + f23 + · · · + fN −1 N 2 4 (5) xj−1 +xj , 2 fj−1 j = f gdzie Zb f (x)dx ≈ H (c) N X j = 1, 2, . . . , N f xj ) = H (f1 + f2 + · · · + fN j=1 a 10.4.2 Metoda trapezów Zb a N i 1 1 Xh f (x)dx ≈ H f0 + f1 + f2 + · · · + 12fN f (xj−1 + f (xj ) = H 2 j=1 2 lub Zb a 10.4.3 N −1 X 1 1 fj + fN f (x)dx ≈ H f0 + 2 2 j=1 Metoda Simpsona Zb f (x)dx ≈ 1 H ( f0 + fN ) + 4 ( f1 + f3 + · · · + fN −1 ) + 2 (f2 + f4 + · · · + fN −2 ) , 3 a przy czym H = (xN − x0 )/N, (N musi być liczbą parzystą). 10.4.4 Metoda Gaussa Zb a N lpc=2 1 b−a X X f (x)dx ≈ wi f (Xi ), 2 N j=1 i=0 gdzie Xi = 11 xj + xj+1 xj+1 − xj + ξi . 2 2 Różniczkowanie numeryczne Zadanie różniczkowania numerycznego polega na obliczeniu wartości pochodnych k– tego rzędu funkcji y = f (x), za pomocą wzorów przybliżonych tzw. wzorów różnicowych. Są to wzory służące do obliczenia pochodnej w węźle i za pomocą znanych wartości funkcji w innych węzłach, np.: mamy dane wartości funkcji f (x0 ), f (x1 ), f (x2 ) w równo oddalonych węzłach x0 , x1 , x2 , należy zbudować wzory różnicowe do obliczenia pierwszej i drugiej pochodnej w węzłach xi , i = 0, 1, 2. 11.1 Rozwinięcie funkcji w szereg Taylora 1 1 1 f (x + h) = f (x) + hf 0 (x) + h2 f 00 (x) + h3 f 000 (x) + h4 f IV (x) + . . . 2 6 24 11.1.1 Centralne wzory różnicowe f10 = 1 (−f0 + f2 ), 2h f100 = 5 1 (f0 − 2 f1 + f2 ) h2 11.1.2 Iloraz wprzód f00 = 11.1.3 1 (−3 f0 + 4 f1 − f2 ), 2h f000 = 1 (f0 − 2 f1 + f2 ) h2 Iloraz wstecz f20 = 1 (f0 − 4 f1 + 3 f2 ), 2h 6 f200 = 1 (f0 − 2 f1 + f2 ) h2