Sprwozdnie prcowni z Anlizy numerycznej List nr 3 Zdnie nr 6 Grup p. Pwł Woźnego Jkub Kowlski Nr lbumu: 7 Wrocłw, 7 styczni 8 Spis treści Sformułownie zdni. Sformułownie lgorytmu............................. Przygotownie teoretyczne - Cłkownie numeryczne. Interpolcj w cłkowniu numerycznym...................... Wzór trpezów....................................3 Metod Romberg................................. 3.3. Zbieżność metody Romberg....................... 4 3 Doświdczenie i wnioski 5 3. Informcje o komputerze.............................. 5 3. Przedstwienie wyników.............................. 5 3.. Cłk 3.. Cłk 3..3 Cłk 3..4 Cłk 3..5 Cłk x 4 +x +.9............................. 5 x 4 +................................ 6 +sin(πx)............................ 7 x 3+sin(π3x)............................ 8 6+4x 4 x 3 +6x+........................... 9 3..6 Cłk 4 3 3x 5x x sin(4x)...................... 3.3 Podsumownie................................... 3.3. Włsności wrintu metody Romberg.................. 3.3. Ulepszeni lgorytmów........................... 3.3.3 Wnioski końcowe.............................. E-mil: CutterTheCt@gmil.com
Sformułownie zdni Doświdczenie poleg n zimplementowniu wrintu metody Romberg do obliczni cłki f(x)dx, który uwzględni chrkter zmienności funkcji f. Wrint ten zostnie przetestowny dl kilku przykłdowych funkcji podcłkowych i porównny pod względem ilości wykonywnych obliczeń, orz dokłdności otrzymywnych wyników z metodą niezmodyfikowną.. Sformułownie lgorytmu Dl dnych d > i ɛ konstruujemy frgment tblicy Romberg T n,m dl n, m 4, Jeśli dl pewnego k 4 różnic między T k,k i T k,k jest mniejsz niż ɛ to kceptujemy T k,k jko wrtość cłki +d f(x)dx. Po czym, jeśli k = to zwiększmy krok d, zś jeśli k = 4 to zmniejszmy (w pozostłych przypdkch d := d ) i przechodzimy do przedziłu [ + d, + d +d ]. W wypdku gdy odległość pomiędzy T 4,4 i T 3,3 jest większ niż zdny ɛ zmniejszmy krok d i ponownie obliczmy cłkę dl skróconego podprzedziłu. Postępujemy w ten sposób ż do momentu w którym prwy krniec przedziłu cłkowni będzie równy b (jeśli będzie większy to nleży odpowiednio zmniejszyć ktulne d). Sum cłek obliczonych w podprzedziłch jest równ cłce f(x)dx. Przygotownie teoretyczne - Cłkownie numeryczne. Interpolcj w cłkowniu numerycznym W przedzile cłkowni [, b] wybiermy węzły x, x,..., x n i dną funkcję przybliżmy zgodnie ze wzorem interpolcyjnym Lgrnge n n x x j () p(x) = f(x i )l i (x), gdzie l i (x) =. x i= j=,j i i x j Cłkę z funkcji f(x) możemy więc przybliżyć z pomocą wyrżeni postci () f(x)dx p(x)dx = n i= f(x i ) l i (x)dx. Powyższy sposób cłkowni numerycznego nzywmy kwdrturą i w tym przypdku określmy jko (3). Wzór trpezów n f(x)dx A i f(x i ), gdzie A i := l i (x)dx i= Dl n =, więc dl dwóch węzłów x = i x = b otrzymujemy (4) A = l (x) = x b b, l (x)dx = (b ), A = l (x) = x b, ( i n). l (x)dx = (b ).
Co dje tzw. wzór trpezów, postci (5) Błąd wzoru trpezów wynosi f(x)dx (b )[f() + f(b)]. (6) (b )3 f (ξ), gdzie ξ (, b). Co możn udowodnić cłkując błąd f(x) p(x) = f (ξ x )(x )(x b) interpolcji i korzystjąc z twierdzeni o wrtości średniej dl cłek. Ze wzoru tego możemy wywnioskowć, że dl f wynik otrzymny jest równy wynikowi dokłdnemu. Gdy przedził [, b] podzielimy punktmi x i tkimi, że = x < x <... < x n < x n = b, możemy zstosowć wzór trpezów dl kżdego z otrzymnych w ten sposób podprzedziłów otrzymując tzw. złożony wzór trpezów. (7) f(x)dx = n i= xi f(x)dx n (x i x i )[f(x i ) + f(x i )] x i i= Dl węzłów równoodległych, czyli tkich, że x i = + ih, gdzie h := (b )/n, mmy wzór (8) co możemy inczej zpisć jko f(x)dx n h[f() + i= f( + ih) + f(b)], (9) f(x)dx h n f( + ih), i= gdzie ozncz sumę której skrjne skłdniki nleży podzielić przez..3 Metod Romberg Podzielmy przedził cłkowni n n (n ) podprzedziłów równej długości. Wtedy korzystjąc ze wzoru (9) oznczmy n () T n, := h n f( + ih n ), gdzie h n := b n. Wtedy dl n = mmy i= () T, = [f() + f(b)]. Sumy dl n > możemy obliczć rekurencyjnie korzystjąc z fktu, że wrtości funkcji f potrzebne do obliczeni T n, występują w T n,, nie m więc potrzeby wielokrotnego ich liczeni: () T n, = T n n, + h n i= 3 f( + (i )h n )
Przybliżeni T n, tworzą pierwszą kolumnę tblicy Romberg. Nstępne kolumny obliczmy korzystjąc z nstępującego wzoru rekurencyjnego (dl m > ) (3) T n,m := T n,m + Uzsdnienie wzoru: 4 m (T n,m T n.m ). Powołując się n wzór Euler-Mclurin, dl f C m [, ] mmy (4) f(t)dt = m [f() + f()] + k= gdzie ξ (, ). Po przeksztłcenich otrzymujemy (5) xi+ x i f(t)dt = h n[f(x i )+f(x i+ )]+ m k= A k [f (k ) () f(k )()] A m f (m) (ξ ), A k h k n [f (k ) (x i ) f(k )(x i+ )] A m h m+ n f (m) (ξ i ), gdzie ξ i (x i, x i+ ). Dl i =,,..., n sumujemy otrzymne równości stronmi (6) xb f(t)dt = h n n i= gdzie ξ (, b). Otrzymujemy więc, że m [f(x i )+f(x i+ )]+ A k hn k [f (k ) () f(k )(b)] A m (b )h m n f (m) (ξ), k= (7) f(x)dx = T n, + c h n + c 4 h 4 n +... + c m h m n + c m h m n f (m) (ξ)..3. Zbieżność metody Romberg Twierdzenie. Jeśli f C[, b], to lim T n,m = f(x)dx. n Dowód. Dl m = i odpowiednich k otrzymne przybliżeni możemy wyrzić w postci k h f( + ih) = k f( + ih) + k h f( + ih), i= i= i= gdzie h := (b )/k. Wyrżenie po prwej stronie to średni rytmetyczn dwóch sum riemnnowskich dl rozwżnej cłki I. Z teorii cłki Riemnn wynik, że dl k kżd z tych sum dąży do I. Kolejne kolumny zwierją wielkości więc lim n T n,m = 4 3 I 3 I = I. T n,m = 4 3 T n,m 3 T n,m, 4
3 Doświdczenie i wnioski 3. Informcje o komputerze Progrm wykonujący obliczeni zostł npisny w języku Python (Python.5.) i był uruchminy n komputerze z procesorem AMD Athlon 5+ (zegr. GHz, 5MB RAM), n systemie opercyjnym Windows XP Professionl. 3. Przedstwienie wyników Dziłnie przedstwionego w tym sprwozdniu wrintu metody Romberg (dlej skrótowo ozncznego jko WMR), zostło przetestowne dl różnych funkcji podcłkowych i porównne ze stndrdową implementcją metody Romberg (dlej - MR) pod względem jkości otrzymywnych przybliżeń, orz ilości wykonywnych obliczeń. W zestwienich, brn jest pod uwgę tzw. ilość kroków wykonywnych przez lgorytm. Przy czym jko jeden krok rozumine jest obliczenie kolejnego przybliżeni (jednego elemntu tblicy Romberg). Dodtkowo w przypdku wrintu metody Romberg wyszczególnion zostł liczb kroków z których progrm musił się wycofć z powodu zbyt młej dokłdności obliczeń (tzw. strcone kroki). Wynik n zdnym przedzile uznwny był z dokłdny gdy różnic pomiędzy T k,k i T k,k był mniejsz niż 8. 3.. Cłk x 4 +x +.9 Wykres funkcji w przedzile cłkowni znjduje się n rysunku (), zś wyniki dziłni obu lgorytmów zostły przedstwione w tbeli ().. Rysunek : Funkcj x 4 +x +.9 /(x**4+x**+.9)..9.8.7.6.5.4.3. - -.5.5 Wyniki dziłni obu lgorytmów są brdzo do siebie zbliżone, lecz wrint metody potrzebowł wykonć pond pięciokrotnie więcej obliczeń dl d =.. Metodzie Romberg wystrczyło wyliczenie tblicy o ośmiu wierszch, zś wrint musił dwdzieści rzy policzyć tblice o co 5
Tblic : Porównnie metod dl cłki x 4 +x +.9 Wynik kroki (strcone kroki) d Dokłdne.5833 MR.58396373 36 WMR.58396374 95 (). WMR.58396373 (). WMR.58396373 95 ().4 WMR.58396373 46 (5).6 Tblic : Porównnie metod dl cłki x 4 + Wynik kroki (strcone kroki) d Dokłdne.86697 MR.8669797863 35 WMR.866979874 99 (). WMR.8669798739 65 (). WMR.8669798739 6 ().4 WMR.8669798734 8 (5).6 njmniej trzech komórkch. Dl dwukrotnie zwiększonego d szybkość WMR wzrosł prwie dwukrotnie, nie wpływjąc w żden znczący sposób n jkość obliczeń. Ponownie podwjjąc współczynnik d przyspieszmy, tym rzem już niezncznie, dziłnie procedury. Tego typu optymlizcj m jednk swoje grnice, dl d =.6 okzuje się, że znlezienie odpowiednio dobrego przybliżeni n tk dużym przedzile i przy ogrniczeniu do pięciu kolumn tblicy jest niemożliwe, w związku z czym nstąpił strt 5 kroków (pond % z ogółem wykonnych) i dlsze obliczeni były prowdzone n wrtości d zoptymlizownej przez lgorytm (dwukrotnie mniejszej). Wnioski z powyższego przykłdu są nstępujące: Gdy obliczenie cłki dl metody Romberg nie wymg dużej ilości kroków, zmodyfikown metod jest zncznie wolniejsz. Możn ją przyśpieszć zwiększjąc prmetr d, jednk dje to rezultty tylko do czsu osiągnięci pewnej optymlnej wrtości zleżnej od zmienności funkcji, powyżej której nie jesteśmy w stnie obliczyć początkowego frgmentu tblicy z zdną dokłdnością. Co skutkuje utrtą pewnej ilości kroków i zwiększeniem liczby potrzebnych do wykonni kroków z powodu zmniejszonego przez lgorytm d. 3.. Cłk x 4 + Wykres funkcji w przedzile cłkowni znjduje się n rysunku (), zś wyniki dziłni obu lgorytmów zostły przedstwione w tbeli (). Obi lgorytmy zwrcją brdzo zbliżone wyniki stnowiące dobre przybliżenie wylicznej cłki. Tym rzem szybciej dziłjącym lgorytmem okzł się WMR, który dl njopty- 6
Rysunek : Funkcj x 4 + /(+x**4).9.8.7.6.5.4..4.6.8 Tblic 3: Porównnie metod dl cłki +sin(πx) Wynik kroki (strcone kroki) d Dokłdne.54754 MR. 3 WMR.5475375 73 ().5 WMR.5475375 746 (5). WMR.376438 69 (45). WMR. 6 ().4 mlniejszego spośród testownych wrtości prmetru d wykonuje pond pięciokrotnie mniej obliczeń. Wrto zwrócic również uwgę n fkt, że dl kżdego testowego d WMR dził zncznie (co njmniej trzykrotnie) szybciej. Możn stąd wywnioskowc, że obliczenie cłki n młym przedzile, wymg prwie zwsze minimlnej liczby kroków. I tym rzem dje to zncznie lepszy rezultt niż stopniowe zmniejsznie przedziłów z pomoc niezmodyfikownej metody Romberg, które kosztuje brdzo dużą liczbę obliczeń. 3..3 Cłk +sin(πx) Wykres funkcji w przedzile cłkowni znjduje się n rysunku (3), zś wyniki dziłni obu lgorytmów zostły przedstwione w tbeli (3). Niezmodyfikown metod Romberg dje w tym przypdku wynik który nie m poprwnej ni jednej cyfry dzisiętnej. Przyczyną tkiego stnu rzeczy jest funkcj, której wrtości brne w nieodpowiednich punktch dją złudzenie szybkiej zbieżności. Początkowe wyrzy tblicy Romberg dl młych n spełniją złożeni bliskości, więc obliczeni są kończone, 7
Rysunek 3: Funkcj +sin(πx) /(+sin(*pi*x)).8.6.4..8.6..4.6.8 otrzymny wynik nie spełni oczekiwń. Wrint Metody Romberg dl młych d unik tego rodzju pułpki i oblicz cłkę z brdzo dobrą dokłdnością (siedem cyfr dziesiętnych). Z tego wynik, że WMR jest metodą zncznie odporniejszą (dl odpowiednio młych d - dl wrtości.6 WMR również zwrc błędny wynik) n niedokłdności spowodowne sinusoidlności funkcji podcłkowej. 3..4 Cłk x 3+sin(π3x) Wykres funkcji w przedzile cłkowni znjduje się n rysunku (4), zś wyniki dziłni obu lgorytmów zostły przedstwione w tbeli (4). Rysunek 4: Funkcj x 3+sin(π3x) x/(3+sin(pi*x*3))+.8.6.4..8.6.4. - -.5 - -.5.5.5 8
Tblic 4: Porównnie metod dl cłki x 3+sin(π3x) Wynik kroki (strcone kroki) d Dokłdne 4.599345 MR 4. 3 WMR 4.5993454 75 ().5 WMR 4.599345 75 (). WMR 4.599345 766 (5). WMR 4.599345 78 (3).4 Ponownie metod Romberg zwrócił niedokłdne przybliżenie. Brnych przez lgorytm punktów przybliżjących przebieg funkcji było zbyt mło, by wrtości funkcji brne w tych punktch odzwierciedlły jej przebieg w sposób dostteczny. Co więcej wrtości otrzymne przez pierwsze kroki lgorytmu były sobie brdzo bliskie więc progrm przedwcześnie skończył swoje zdnie. Omwiny wrint metody dl wszystkich testownych wrtości d odnlzł (przy niewielkich zminch ilości wykonnych kroków) brdzo dobre przybliżenie cłki. Ilość kroków jkie n to potrzebowł w optymlnym przypdku jest znczn, jednk tylko w ten sposób, tzn. zwczsu dzieląc obszr cłkowni n odpowiednio mniejsze podprzedziły, możn było wyliczyć zdną cłkę z odpowiednią dokłdnością. 3..5 Cłk 6+4x 4 x 3 +6x+. Wykres funkcji w przedzile cłkowni znjduje się n rysunku (5), zś wyniki dziłni obu lgorytmów zostły przedstwione w tbeli (5). 3.5 Rysunek 5: Funkcj 6+4x 4 x 3 +6x+. (6+4*x**4)/(*x**3+6*x+)-. 3.5.5.5 -.5.5.5 Wrint metody Romberg, dl wszystkich rozptrywnych wrtości prmetru d wypdł lepiej znjdując dokłdniejsze przybliżenie cłki, orz czyniąc to z pomocą mniejszej liczby 9
Tblic 5: Porównnie metod dl cłki 6+4x 4 x 3 +6x+. Wynik kroki (strcone kroki) d Dokłdne.5656834 MR.565677358 35 WMR.56568346 67 (). WMR.56568346 8 (5). WMR.5656834 3 (3).6 WMR.56568346 3 (45).8 obliczeń. Wrto zwrócić uwgę n fkt, że njmniejsz liczb kroków zostł uzyskn w przypdku gdy ż 3 (pond % ogólnej liczby kroków) było strconych, z czego wynik, że obliczenie cłki n dwóch przedziłch trzeb było wykonć ponownie. Okzuje się więc, że możliwość modyfikowni prmetru d przez lgorytm w locie, pomimo iż wiąże się ze spdkiem szybkości obliczeń, może dć zskkująco dobre rezultty i wynik lepszy niż przy próbie dopsowni odpowiedniej wielkości d przez użytkownik n początku dziłni lgorytmu. 3..6 Cłk 4 3 3x 5x x sin(4x) Wykres funkcji w przedzile cłkowni znjduje się n rysunku (6), zś wyniki dziłni obu lgorytmów zostły przedstwione w tbeli (6). 3 Rysunek 6: Funkcj 3x 5x x sin(4x) 3*x**-5*x-x****sin(4*x) 5 5 5 3 3. 3.4 3.6 3.8 4 Wyniki znjdowne przez ob lgorytmy są z punktu widzeni przybliżeni zdnej cłki tkie sme i brdzo dokłdne (zgdz się pierwszych 8 cyfr dzisiętnych). Algorytmy różnią się jednk zncznie ilością wykonnych obliczeń, któr w optymlnym testownym przypdku
Tblic 6: Porównnie metod dl cłki 4 3 3x 5x x sin(4x) Wynik kroki (strcone kroki) d Dokłdne 3.7697478 MR 3.76974786 8 WMR 3.76974786 (). WMR 3.76974786 95 (). WMR 3.76974786 96 ().3 WMR 3.76974786 (5).4 dl WMR był około trzykrotnie większ, choć dl odpowiednich d nie przekrczł. Możn wywnioskowć, że istnieje kls funkcji łtwo cłkowlnych przez metodę Romberg, dl których brdziej zwnsowny lgorytm jkim jest WMR okzuje się nieefektywny pod względem złożoności. 3.3 Podsumownie 3.3. Włsności wrintu metody Romberg Wrint metody Romberg dl odpowiednio młego d dje gwrncję poprwności wyniku, czyni to jednk w dużej części przypdków kosztem zncznego zwiększeni liczby obliczeń. Tk jest dl funkcji których obliczenie cłki metodą Romberg nie jest brdzo kosztowne - możn przyjąć, że wymg policzeni nie więcej niż kolumn mcierzy. Dl funkcji które wymgją dużej liczby kroków metodą niezmodyfikowną, WMR d lepsze rezultty. Zuwżmy, że zwiększenie d tk by liczb przedziłów zwiększył się o 5 (dl testownych przypdków spowodowłoby to zwiększenie liczby przedziłów o 5% %, więc możn się spodziewć zncznego wzrostu dokłdności) spowoduje zwiększenie liczby kroków o około 4, co jest równowżne obliczeniu dwóch kolejnych wierszy mcierzy o szerokości. Mł początkow wrtość d będzie odpowiedni, jeśli funkcj jest brdzo zmienn n przedzile cłkowni, lub zkłdmy, że n pierwszych przedziłch przybliżeni zostną policzone brdzo szybko i progrm sm zmodyfikuje wrtość zmiennej. Choć poprwki poczynione w tym wypdku przez lgorytm rczej nie przyczynią się do utrty kroków, to szns, że zostną wprowdzone ściśle zleży od przebiegu funkcji. W przypdku ich brku, lub zistnieni zbyt późno w toku obliczeń, lgorytm wykon ilość kroków być może nwet kilkukrotnie przewyższjącą optymlną wrtość. Duż wrtość d dn lgorytmowi może przynieść korzyści jeśli w kilku początkowych krokch wrtość t wystrczy do policzeni cłki n przedzile z odpowiedni dokłdnością. Wtedy lgorytm w trkcie dziłni sm zdb o odpowiednie poprwki i pomimo być może kilku potrzebnych później nwrotów, ilość kroków będzie optymln.
3.3. Ulepszeni lgorytmów Omwiny wrint metody Romberg wydje się być n podstwie poczynionych obserwcji znkomitym dopełnieniem metody Romberg. Dje zncznie lepsze rezultty w wypdku gdy wersj niezmodyfikown zwodzi lub potrzebuje brdzo dużej ilości obliczeń, Dził kilkukrotnie wolniej gdy MR dził optymlnie, tzn. zwrc dobre przybliżenie cłki nie wykonując przy tym dużej ilości kroków. Aby uzyskć optymlny lgorytm liczeni cłki z pomoc metody Romberg możn postrć się doprcowć któryś z lgorytmów, lub spróbowć je połączyć. Koniecznym ulepszeniem niezmodyfikownej metody Romberg jest dodnie ogrniczeni dolnego n liczbę kolumn mcierzy. Dzięki temu zmusimy lgorytm do wykonni dodtkowych kroków pomimo, że początkowe wyrzy tblicy będą sobie odpowiednio bliskie i unikniemy problemów z brdzo niedokłdnym wyliczeniem cłki przez wybór zbyt młej ilości punktów przybliżjących (jk to miło miejsce dl funkcji testowych o numerch 3 i 4). Przyspieszenie WMR możn uzyskć przez zwiększenie grnicznej ilości kolumn w wylicznych tblicch. Wtedy zmniejszymy potencjlną liczbę nwrotów, orz będziemy mogli sobie pozwolić n zwiększenie wrtości prmetru d, więc liczenie cłki n mniejszej liczbie przedziłów. Dobrnie odpowiedniej grnicy i modyfiktor d może zostć przeprowdzone n podstwie doświdczeń, jednk nie d nm gwrncji, że tk zmodyfikowny lgorytm okże się w kżdej sytucji co njmniej tk smo skuteczny jk omwiny wrint metody Romberg. Możn też skonstruowć lgorytm który njpierw liczy cłkę metodą Romberg z ogrniczeniem dolnym i stosunkowo niewielkim ogrniczeniem górnym (np. co njwyżej kolumn), nstepnie w wypdku gdy lgorytm MR nie dł odpowiednio bliskich sobie przybliżeń, oblicz tą smą cłkę z pomocą wrintu metody Romberg. Dl tego lgorytmu znim zjdzie potrzeb użyci WMR wykonnych zostnie zbędnych ż 55 kroków. Jednk biorąc pod uwgę jk dużo funkcji będzie w stnie poprwnie scłkowć wersj niezmodyfikown metody, orz fkt, że WMR okzuje sie metodą skuteczną względem MR gdy musi wykonć około 6 kroków, to ewentulne zwiększenie złożoności nie jest tk znczące. Co więcej tki lgorytm będzie uniwerslny i może być z powodzeniem stosowny do liczeni cłek, które jest ciężko obliczyć numerycznie, jk i do tych których wyliczenie wymg niewielkiego nkłdu prcy odpowiedniego lgorytmu. 3.3.3 Wnioski końcowe Wrint metody Romberg uwzględnijący chrkter zmienności funkji podcłkowej z rcji gwrncji poprwności wyniku jest lgorytmem którego stosownie w wielu przypdkch jest dobrym rozwiązniem. Nleży jednk liczyć się z fktem, że jego dziłnie może być czsochłonne i wymgjące zncznej ilości obliczeń. Jest to jednk lgorytm który z powodzeniem możemy stosowć dl cłek funkcji brdzo poflownych, orz innych co do których mmy podejrzeni, że stndrdow metod Romberg nie zdził z tką skuteczności jką oczekujemy.
Litertur [] D. Kincid, W. Cheney, Anliz Numeryczn, Wydwnictw Nukowo-Techniczne, Wrszw 6. [] Å. Björck, G. Dhlquist, Metody Numeryczne, Pństwowe Wydwnictwo Nukowe, Wrszw 987. [3] S. Lewnowicz, Anliz Numeryczn - Nottki z wykłdu, Wrocłw 7. 3