Rozdziaª 7 Kwadratury
Transkrypt
Rozdziaª 7 Kwadratury
Rozdziaª 7 Kwadratury Zadania z tego rozdziaªu sªu»¡ przetestowaniu najprostszych kwadratur numerycznych, czyli metod przybli»onego obliczania caªek po odcinkach. W tym rozdziale zapoznamy si¦ tak»e z funkcj¡ octave'a quad() sªu»¡c¡ przybli»onemu obliczaniu caªek jednowymiarowych postaci Z b f (t) dt − ∞ ≤ a < b ≤ +∞, a Mo»emy wi¦c znajdowa¢ przybli»enia caªek po caªej prostej rzeczywistej czy póªprostych. Zadanie 1 Zapoznaj si¦ z pomoc¡ do funkcji octave'a quad(). Policz przy pomocy quad() caªk¦ funkcji i odcinków: Rb a f (t) dt dla nast¦puj¡cych • x2 na [−1, 1] • x9 na [0, 1] • sin(x) na [0, π] • cos(100 ∗ x) na [0, π] • cos(100 ∗ x) ∗ cos(1000 ∗ x) na [0, π] Czy wyniki s¡ zgodne z teori¡? Zadanie 2 Zªo»ona kwadratura trapezów. (a) Zaprogramuj w octavie funkcj¦ function c=kwadtrapez(FCN,a,b,n) 31 obliczaj¡c¡ zªo»on¡ kwadratur¦ trapezów: Tn f = h 0.5[f (a) + f (b)] + n−1 X ! f (a + k ∗ h) k=1 dla h = (b − a)/n. Parametry funkcji: • F CN - wska¹nik do funkcji octave'a function y=f(x) obliczaj¡cej warto±¢ funkcji podcaªkowej • a - lewy koniec odcinka • b - prawy koniec odcinka • n - ilo±¢ oblicze« warto±ci funkcji podcaªkowej w kwadraturze trapezów minus jeden (tak, jak we wzorze powy»ej) Funkcja zwraca przybli»on¡ warto±¢ caªki obliczon¡ za pomoc¡ powy»szego wzoru, tzn. zªo»onej kwadratury trapezów. Funkcja powinna dziaªa¢ równie» je±li j¡ wywoªamy tylko z trzema parametrami. Wtedy n powinno domy±lnie przyj¡¢ warto±¢ sto. (b) Przetestuj funkcj¦ octave'a z poprzedniego podpunktu dla Nk = 2k N0 k = 0, 1, 2, . . . z ustalonym N0 = 5 licz¡c: EN E2N dla bª¦du Z EN = | b f dt − TN f | a dla nast¦puj¡cych funkcji, dla których warto±ci caªek znamy: • x2 na [0, 1], • sin(x) na [0, π] i N0 = 5 - funkcja analityczna, • sin(100 ∗ x) na [0, π] i N0 = 5 - funkcja analityczna, silnie oscyluj¡ca - du»e warto±ci drugiej pochodnej, • xj+0.5 na [0, 1] dla j = 0, 1, 2 czyli funkcji w C j ([0, 1]) i o nieograniczonej w otoczeniu zera j + 1 pochodnej. Porównaj wyniki obliczane kwadratur¡ trapezów z wynikami funkcji quad(). Mo»na sprawdzi¢ dla jakiego n bª¡d 32 obliczony zªo»on¡ kwadratur¡ trapezów jest na poziomie bª¦du funkcji octave quad() - i porówna¢ ilo±¢ wywoªa« funkcji f przez obie procedury. Zadanie 3 Czy wielomiany Czebyszewa tworz¡ ukªad funkcji ortogonalnych 1 w L2 na [−1, 1] z wag¡ √1−x 2. Policz za pomoc¡ funkcji octave quad(): Z 1 −1 √ 1 Tn (x)Tm (x) dx 1−x∗x dla m = 2 i n = 3. Czy wynik jest zgodny z teori¡? Zadanie 4 Kwadratura Gaussa-Czebyszewa dla Z 1 I(f ) = −1 √ 1 f (x) dx 1 − x2 czyli n n π X π X GCn+1 f = f (xk ) = f n + 1 k=0 n + 1 k=0 0.5 ∗ π + kπ cos n+1 dla xk zer Tn+1 - n + 1 wielomianu Czebyszewa. Zaimplementuj funkcj¦ function c=gaussczeb(FCN,n) obliczaj¡c¡ warto±¢ kwadratury GCn f . Parametry - wska¹nik do funkcji function y=f(x) i ilo±¢ punktów kwadratury. Przetestuj jej dziaªanie: • policz przybli»enia caªek I(Tk2 ). Czy GCn (Tk2 ) przybli»a π/2 dla k > 0 dla n = 20, 40, 80? • policz przybli»enie caªki z wielomianów ró»nych stopni dla n = 4, 10, 20 - czy kwadratura jest dokªadna dla wielomianów Czebyszewa stopnia 0 < k < 2n (tzn. czy zwraca zero)? • dla funkcji matematycznej f (x) = exp(arccos(x)), której caªk¦ z t¡ wag¡ mo»emy obliczy¢ dokªadnie. Porównaj warto±¢ kwadratury z wynikiem dokªadnym dla n = 10, 20, 40, 80, tzn. policz en = |GCn (f ) − I(f )| przyjmuj¡c za I(f ) warto±¢ dokªadn¡. 33 • analogicznie do poprzedniego podpunktu tego zadania, po- równaj wynik obliczony za pomoc¡ kwadratury Gaussa Czebyszewa, tzn. GCn (f ), dla funkcji f (x) = exp(arccos(x)) z wynikiem obliczonym funkcj¡ quad(). Wypisz na ekran en = |GCn (f ) − c| dla c warto±ci uzyskanej za pomoc¡ funkcji octave'a quad(). • Przetestuj rz¡d zbie»no±ci tej kwadratury dla funkcji f (x) = exp(arccos(x)), jak w przypadku kwadratury trapezów, tzn. policz bª¦dy en , analogicznie do poprzednich podpunktów i wypisz en /e2n . Zadanie 5 Zªo»ona kwadratura prostok¡tów. (a) Zaprogramuj w octave funkcj¦ function c=kwadprost(FCN,a,b,n), która zwraca warto±¢ zªo»onej kwadratury prostok¡tów dla funkcji f na odcinku [a, b] na n równoodlegªych punktach: Pn f = h n X f (a + (k − 0.5) ∗ h)), h = (b − a)/n. k=1 Parametry funkcji: • F CN - wska¹nik do funkcji octave'a postaci function y=f ( x ) y=...... endfunction obliczaj¡cej warto±¢ funkcji, której caªk¦ chcemy obliczy¢, tj. f (x), w danym punkcie x. • a, b - ko«ce odcinka, • n - ilo±¢ w¦zªów wykorzystywanych przez kwadratur¦. Funkcja zwraca przybli»on¡ warto±¢ caªki obliczon¡ za pomoc¡ powy»szego wzoru, tzn. zªo»onej kwadratury prostok¡tów. Funkcja powinna dziaªa¢ równie» je±li j¡ wywoªamy bez ostatniego parametru. Wtedy n powinno domy±lnie przyj¡¢ ustalon¡ warto±¢, np. dwie±cie. 34 (b) Testy dla funkcji, których caªki znamy. Przetestuj t¦ funkcj¦ octave'a kwadprost() dla Nk = 2k N0 k = 0, 1, 2, . . . z ustalonym N0 = 5 licz¡c: Z EN , E2N b f dt − PN f | EN = | a dla caªek z nast¦puj¡cych funkcji po odpowiednich odcinkach: • x2 na [0, 1] • sin(x) na [0, π] i N0 = 5 - funkcja analityczna, • sin(100∗x) na [0, π] i N0 = 5 - funkcja analityczna silnie oscyluj¡ca (du»e warto±ci drugiej pochodnej), • xj+0.5 na [0, 1] dla j = 0, 1, 2 czyli funkcji w C j ([0, 1]) i o nieograniczonej w otoczeniu zera j + 1 pochodnej. Porównaj wyniki obliczane kwadratur¡ prostok¡tów z wynikami funkcji quad() . Zadanie 6 Porównaj wyniki obliczane kwadratur¡ prostok¡tów z wynikami funkcji obliczaj¡cej caªk¦ za pomoc¡ zªo»onej kwadratury trapezów. Porównaj bª¦dy dla warto±ci N i f (x) z poprzedniego zadania czyli caªek, których warto±¢ teoretycznie znamy - z wynikami dla obu kwadratur: • dla tej samej ilo±ci wywoªa« funkcji f , tzn. porównaj PN f z TN −1 f , • porównaj obie kwadratury dla tego samego h, tzn. TN f z PN f , aby oceni¢ bª¡d w terminach parametru h = (b−a)/N . Zadanie 7 Kwadratura Romberga. (a) Zaprogramuj w octave funkcj¦ function c=Romberg(FCN,a,b,p,N0) zR kwadratur¡ Romberga Rp,N 0 obliczaj¡c¡ przybli»enie caªki b f (t) dt. a Parametry funkcji: • F CN wska¹nik do funkcji octave'a function y=f(x) obliczaj¡cej warto±¢ funkcji podcaªkowej 35 • • • • a lewy koniec odcinka b prawy koniec odcinka p ilo±¢ poziomów w kwadraturze Romberga N 0 startowa ilo±¢ punktów w kwadraturze Romberga Funkcja zwraca przybli»on¡ warto±¢ caªki obliczon¡ za pomoc¡ kwadratury Romberga. Funkcja powinna dziaªa¢ równie» je±li j¡ wywoªamy tylko z trzema albo czterema parametrami. Parametr p powinien wtedy domy±lnie przyj¡¢ warto±¢ 5, a N 0 warto±¢ sto. R (b) Przetestuj kwadratur¦ Romberga dla caªki ab f dt dla nast¦puj¡cych funkcji, odcinków i warto±ci parametrów N 0 i p: • sin(x) dla [0, π] • sin(x) dla [0, 100 ∗ π] • sin(10 ∗ x) dla [0, π] • xj+0.5 na [0, 1] dla j = 0, 1, 2, . . . , 10, dla N 0 = 100 i dla p = 2, 3, 4, 5, 6. √ Czy dla x i rosn¡cego p bª¡d maleje? Czy stosunek EN /E2N maleje tak samo dla wszystkich funkcji? R Tutaj u»yli±my oznaczenia na bª¡d EN = | ab f dt − Rp,N 0 |. 36