MN11.pdf

(170 KB) Pobierz
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Metody Numeryczne
Wykład 11
870701185.043.png
Różniczkowanie numeryczne
Zadanie różniczkowania numerycznego, polega na
wyznaczeniu wartości n-tej pochodnej funkcji f(x) w
określonym punkcie x 0 .
(
n
)
f
(
x
)
=
?
f
(
x
)
=
?
0
Funkcja f(x) może być dana:
W postaci analitycznej (jawnym wzorem).
W postaci zbioru punktów {x i ,f(x i )} pochodzącego np.
z eksperymentu lub symulacji.
870701185.044.png
Z definicji pierwsza pochodna funkcji f(x) wyraża się wzorem:
f
(
x
+
h
)
-
f
(
x
)
¢
f
(
x
)
=
lim
0
0
0
h
h
®
0
Sugeruje to następujący wzór przybliżony:
f
(
x
+
h
)
-
f
(
x
)
wsp
.
kier
.
=
0
0
h
y
¢
wsp
.
kier
.
=
f
(
x
)
0
f
(
x
+
h
)
-
f
(
x
)
f
(
x
)
¢
f
(
x
)
»
0
0
f
¢
(
x
)
»
f
(
x
0
+
h
)
-
f
(
x
0
)
0
h
(wzór ten jest wzorem dokładnym , jeśli
funkcja f(x) jest funkcją liniową)
x 0
x 0 +h
x
Powyższy wzór powinien dawać coraz dokładniejszy wynik przy
zmniejszaniu wartości h .
Sprawdźmy czy jest tak w praktyce.
870701185.045.png 870701185.046.png 870701185.001.png 870701185.002.png 870701185.003.png 870701185.004.png 870701185.005.png 870701185.006.png 870701185.007.png 870701185.008.png 870701185.009.png
h
[f(x+h)-f(x)]/h
Przykład:
10 -1
0.3 18219785804463
f
( )
x
=
arctg
( x
)
10 -2
0.33 1768140319333
10 -3
0.333 176260204016
x
=
2
0
10 -4
0.3333 17620466733
10 -5
0.33333 1761992461
¢
f
(
x
)
=
?
0
10 -6
0.333333 176172346
Wartość
dokładna
szukanej
pochodnej
10 -7
0.3333333 17614759
wynosi f’(x 0 )=1/3.
W tabeli zestawiono przybliżenia pochodnej
10 -8
0.3333333 27606766
W tabeli zestawiono przybliżenia pochodnej
uzyskane dla rożnych wartości parametru h .
Zmniejszając wartość h , początkowo
uzyskiwano coraz dokładniejsze przybliżenie
wartości pochodnej.
Najdokładniejszy wynik uzyskano dla h=10 -8 .
Przy
10 -9
0.3333333 60913457
10 -10
0.3333333 60913457
10 -11
0.3333333 60913457
10 -12
0.3333 99974294935
10 -13
0.333 066907387547
10 -14
0.333 066907387547
dalszym
zmniejszaniu
wartości h
10 -15
0.333 066907387547
dokładność
uzyskiwanych
wyników
była
10 -16
0.000000000000000
coraz mniejsza
10 -17
0.000000000000000
870701185.010.png 870701185.011.png 870701185.012.png
 
870701185.013.png 870701185.014.png 870701185.015.png 870701185.016.png 870701185.017.png 870701185.018.png 870701185.019.png 870701185.020.png 870701185.021.png 870701185.022.png 870701185.023.png 870701185.024.png 870701185.025.png 870701185.026.png 870701185.027.png 870701185.028.png 870701185.029.png 870701185.030.png 870701185.031.png 870701185.032.png 870701185.033.png 870701185.034.png 870701185.035.png 870701185.036.png 870701185.037.png 870701185.038.png 870701185.039.png 870701185.040.png
Jeżeli funkcja f(x) ma ciągłą pochodną w przedziale [x 0 ,x 0+h ] a
druga pochodna tej funkcji istnieje w przedziale (x 0 ,x 0+h ) można
zgodnie ze wzorem Taylora zapisać:
1
¢
2
¢
f
(
x
+
h
)
=
f
( )
x
+
h
( )
x
+
h
f
( )
x
,
x
Î
(
x
,
x
+
h
)
2
Skąd wyprowadzamy wzór:
1
1
¢
¢
f
( )
x
=
[
f
(
x
+
h
)
-
f
( )
x
]
-
h
( )
x
h
2
Otrzymujemy zatem znany już wzór przybliżający pierwszą
Otrzymujemy zatem znany już wzór przybliżający pierwszą
pochodną f(x) , zwany różnicą dzieloną w przód z błędem
przybliżenia (błędem obcięcia):
1
¢
- 2
h
x
( )
Błąd ten jest rzędu O(h).
Analogicznie otrzymujemy wzór na różnicę dzieloną w tył:
1
¢
f
( )
x
=
[
f
( )
x
-
f
(
x
-
h
)
]
+
O
(
h
)
h
870701185.041.png 870701185.042.png
Zgłoś jeśli naruszono regulamin