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