Metody Numeryczne Wykład 9 Kwadratury Na poczatku

Transkrypt

Metody Numeryczne Wykład 9 Kwadratury Na poczatku
Metody Numeryczne
Wykład 9
Kwadratury
Na pocza̧tku zdefiniujemy pojȩcie kwadratury K .
Kwadratura̧ K oparta̧ na wȩzłach xj nazywamy
K=
n
X
Z
aj f (xj ) ≈
b
f (x)dx
a
j=0
Współczynniki aj nazywamy wagami kwadratury.
Podstawowe kwadratury tzw. kwadratury Newtona-Cotesa oparte sa̧ na wȩzłach wielomianu interpolacyjnego Lagrange
pn (x) =
n
X
f (xj )Lj (x)
j=0
gdzie funkcje ( porównaj wykłady 4-5 )
Lj (x) =
(x − x0 )(x − x1 ) . . . (x − xj−1 )(x − xj+1 ) . . . (x − xn )
.
(xj − x0 )(xj − x1 ) . . . (xj − xj−1 )(xj − xj+1 ) . . . (xj − xn )
tworza̧ tzw. bazȩ Lagrange
Lj (xi ) =
0 i 6= j,
1 i = j.
Sta̧d
Z
b
b
Z
f (x)dx ≈
a
pn (x)dx =
a
=
Z bX
n
a
n
X
Z
f (xj )
f (xj )Lj (x)dx
j=0
b
Lj (x)dx.
a
j=0
Przykład 1
Kłada̧c n = 1 i interpoluja̧c funkcjȩ f w wȩzłach x0 = a, x1 = b, otrzymujemy
L0 (x) =
x−b
x−a
, L1 (x) =
.
a−b
b−a
1
Z
b
b−a
x−b
dx =
,
a−b
2
b
b−a
x−a
dx =
.
b−a
2
a0 =
a
Z
a1 =
a
prosta̧ kwadraturȩ trapezów:
Z
b
f (x)dx ≈
a
b−a
[f (a) + f (b)] .
2
Przykład 2
Kłada̧c n = 2, x0 = a, x1 =
(parabol)
Z
b
a
b+a
,
2
x2 = b, otrzymujemy prosta̧ kwadraturȩ Simpsona
b−a
b+a
f (a) + 4f (
) + f (b) .
f (x)dx ≈
6
2
Kwadratury złożone
Napiszemy w OCTAVE skrypt funkcyjny o nazwie trapez.m obliczaja̧cy całki danych
funkcji na przykład f (x) = ex , g(x) = sin2πx, h(x) = x1/3 , na przedziale [a, b] = [0, 1]
złożona̧ kwadratura̧ trapezów
Z xi
(f (xi−1 ) + f (xi )
f (x)dx ≈ h
,
2
xi−1
gdzie
h = (b − a)/N jest długościa̧ kroku ,
N - ilościa̧ równych podziałów przedziału całkowania a b.
Sumuja̧c pola trapezów w każdym w przedziale [xi−1 , xi ] i wykorzystuja̧c własność addytywności całki oznaczonej - wzór na złożona̧ kwadraturȩ trapezów można zapisać w
postaci
!
Z b
N −1
f (a) + f (b) X
f (x)dx ≈ h
+
f (a + jh)
2
a
j=1
Program OCTAVE trapez.m - zała̧cznik 1 do wykładu.
2
Sumuja̧c zaś proste kwadratury Simpsona w każdym z przedziałów [xi , xi+1 ], otrzymujemy złożona̧ kwadraturȩ Simpsona
Z
b
f (x)dx ≈
a
h
(f0 + 4f1 + 2f2 + 4f3 + 2f4 + ... + 2fn−2 + 4fN −1 + fN )
3
gdzie
fi = f (xi ) = f (a + ih), h =
b−a
.
N
Napiszemy prosty skypt funkcyjny w OCTAVE o nazwie it simpson.m obliczaja̧cy całkȩ
oznaczona̧ złożona̧ kwadratura̧ Simpsona.
(Program simpson.m zał¸acznik 2 )
Kwadratury Gaussa
Kwadraturami Gaussa nazywamy kwadratury postaci
Z
1
f (t)dt =
−1
n
X
wi f (ti )
i=1
gdzie
wagi kwadratury wi i wȩzły ti sa̧ tak dobrane,że kwadratura jest dokładna dla wszystkich
wielomianów f (t) stopnia 2n-1 i istnieje wielomian stopnia 2n+2 dla którego kwadratura
nie jest dokładna.
Przykład
2 3
Jeśli
R 1 f(t) stanowi bazȩ potȩgowa̧ {1, t, t , t } ( patrz wykłady 4-5 ), to
1dt = 1 − (−1) = 2 = w1 + w2 ;
R−1
1
tdt = 1/2 − 1/2 = 0 = w1 t1 + w2 t2 ;
R−1
1 2
t dt = 1/3 − (−1/3) = 2/3 = w1 t21 + w2 t22 ;
R−1
1 3
t dt = 1/4 − 1/4 = 0 = w1 t31 + w2 t32 ;
−1
Rozwia̧zaniem układu sa̧ w1 = w2 = 1 i t1 = − √13 , t2 = √13 .
Sta̧d otrzymujemy dwupunktowa̧ kwadraturȩ Gaussa
Z
1
f (t)dt = f
−1
1
−√
3
+f
1
√
3
.
Do obliczenia całki w dowolnym przedziale [a, b] - dokonujemy liniowego ptrzekształcenia
x = mt + c przedziału [a, b] na przedział [-1, 1]
3
x=
b−a
2
t+
b+a
2
.
Wówczas
Z
a
b
b−a
f (x)dx =
2
Z
1
f
−1
b−a
b+a
t+
2
2
dt
Napiszemy w OCTAVE skrypt o nazwie gaussint.m obliczaja̧cy dowolna̧ całkȩ oznaczona̧ kwadratura̧ Gaussa.
Zała̧cznik 3 do wykładu.
Program OCTAVE posiada instrukcjȩ wewnȩtrzna̧ o nazwie quad.m - numerycznego całkowania funkcji jednej zmiennej.
Sposób wywołania tej instrukcji jest nastȩpuja̧cy:
[v, ier, nf un, err] = quad(f, a, b, tol, sing)
gdzie
f - jest nazwa̧ funkcji najcześciej zapisywana w odzielnym m-file;
a, b - granica̧ dolna̧ i górna̧ całkowania;
tol - opcjonalny argument dokładności obliczania całki - jest to wektor dwuelementowy,
którego pierwszy element oznacza bład bezwzglȩdny , drugi - bła̧d wzgłȩdny obliczeń
sing - opcjonalny argument - wektor przedziału, w którym obliczana cal ka jest zbieżna
(singular) ( gł’ownie ma zastosowanie dla dla całek niewłaściwych;
Otrzymujemy po wywołaniu instrukcji ENTER
v - wartość całki;
ier - wskaźnik błȩdu obliczeń, na przykład liczba 0 - obliczenie całki dokładne ;
nfun - wskaźnik ilości obliczeń numerycznych funkcji, do otrzymania wyniku;
err - bła̧d obliczenia całki
Na przykład
[v, ier, nf un, err] = quad(0 exp0 , −1, 1, [1.e − 3 1.e − 3], [1 0]) + EN T ER
v = 2.3504
ier = 0
nfun = 63
err = 2.6095e-14
»
Na tym kończymy przegla̧d najważniejszych kwadratur numerycznych, choć autor wykładu zdaje sobie sprawȩ, że nie przedstawił takich zagadnień jak dokładność i zbieżność
4
kwadratur numerycznych a także kwadratur Romberga. Wyszedł bowiem z założenia, że
w praktyce inżynierskiej przedstawione powyżej kwadratury sa̧ wystarczaja̧ce.
5

Podobne dokumenty