• Nie Znaleziono Wyników

Metody numeryczne

N/A
N/A
Protected

Academic year: 2021

Share "Metody numeryczne"

Copied!
23
0
0

Pełen tekst

(1)

dr hab. Piotr Fronczak

Metody numeryczne

Wykład nr 6

Różniczkowanie

(2)

Różniczkowanie numeryczne

Wzory różniczkowania numerycznego znajdują zastosowanie wtedy, gdy trzeba wyznaczyć pochodne odpowiedniego rzędu funkcji f(x), która określona jest tablicą lub ma

skomplikowaną postać analityczną.

Dwa podstawowe sposoby różniczkowania numerycznego:

1. Metoda różnic skończonych – metoda polegająca na przybliżeniu pochodnej funkcji poprzez skończone różnice, w zdyskretyzowanej przestrzeni. Można ją wyprowadzić wprost z ilorazu różnicowego, bądź z rozwinięcia w szereg Taylora.

2. Różniczkowanie funkcji aproksymującej –

aproksymujemy punkty wyrażeniem, które może być łatwo różniczkowalne, np. wielomianem, funkcją wykładniczą, itp.

(3)

Różniczkowanie numeryczne

Wzory różniczkowania numerycznego znajdują zastosowanie wtedy, gdy trzeba wyznaczyć pochodne odpowiedniego rzędu funkcji f(x), która określona jest tablicą lub ma

skomplikowaną postać analityczną.

Dwa podstawowe sposoby różniczkowania numerycznego:

1. Metoda różnic skończonych – metoda polegająca na przybliżeniu pochodnej funkcji poprzez skończone różnice, w zdyskretyzowanej przestrzeni. Można ją wyprowadzić wprost z ilorazu różnicowego, bądź z rozwinięcia w szereg Taylora.

2. Różniczkowanie funkcji aproksymującej –

aproksymujemy punkty wyrażeniem, które może być łatwo różniczkowalne, np. wielomianem, funkcją wykładniczą, itp.

W przypadku silnie zaszumionych danych różniczkowanie metodą różnic skończonych może dać fatalny efekt.

(4)

Wyprowadzenie metody różnic skończonych ze wzoru Taylora

Rozwinięcie funkcji analitycznej f(x) w otoczeniu punktu x w szereg Taylora można wyrazić w postaci

)

! ( )

! ( ) 2

! ( ) 1 ( )

(

( )

0 )

2 ( 2 )

1

(

f x

k x h

h f x

h f x

f h

x

f

k

k

k

 

Zdefiniujemy operator różniczkowania

) ( ))

( (

) (

) ( )

(

) ( 1

) 1 (

x f

x f D D x

f D

x f

x Df

k k

k

 

Zatem

) ( )

(

! ) 2

! 1 1

( ) (

2 2

x f e x

D f h h hD

x

f       

hD

Zdefiniujmy operatory różnicy zwykłej , i wstecznej :

Czyli

) ( )

( )

( x f x h f x

f   

) ( ) 1

( )

( x h f x

f    

Z porównania zależności uzyskujemy wzór na równość operatorów

1 e

hD

) (

) ( )

( x f x f x h

f   

(5)

Logarytmując obustronnie otrzymamy

) 1

ln(  

hD

) 1

1

ln(  

h

D

Podnosząc obustronnie do potęgi k-tej, uzyskamy

 

k

k k

Dh 1 ln( 1   )

 

 )

22 33 44

1

ln(

k k

k

D h )

4 3

( 2

1

2 3 4

 

 

 

 

1 e

hD

Ponieważ

(6)

Możemy zatem wyprowadzić wzory na dowolne pochodne funkcji f(x) wyrażone za pomocą różnic zwykłych:

k = 1

 1 ( ) ( ) ( ) ( ) )

(

21 2 31 3 41 4

) 1

(

f x f x f x f x

x h f

k = 2

 1 ( ) ( ) ( ) ( )

)

(

2 2 3 1211 4 1210 5

) 2

(

f x f x f x f x

x h f

k = 3

 1 ( ) ( ) ( ) ( )

)

(

3 3 23 4 47 5 2445 6

) 3

(

f x f x f x f x

x h f

k k

k

D h )

4 3

( 2

1

2 3 4

 

 

 

 

(7)

Sprawdź, że

2

3 2

1 2

2 1

2 1

1

) (

3 ) (

4 ) (

5 ) ( ) 2

( ''

) (

) (

2 ) ) (

( ''

2

) (

) (

4 ) ( ) 3

( '

) ( )

) ( ( '

h

x f x

f x

f x

x f f

h

x f x

f x

x f f

h

x f x

f x

x f f

h

x f x

x f f

i i

i i

i

i i

i i

i i

i i

i i

i

 

 

 

 

(8)

Zróbmy to samo za pomocą różnic wstecznych. Zauważmy, że

Zatem

1   1

1

Wstawiając powyższy wzór do wzoru , otrzymujemy

 

k k

k

k k

h

D h 1 ln( 1 )

) 1

1 ln(  

1

   

Ponieważ



 

        

 

4 3

) 2 1

ln(

4 3

2

k

k k

D h 

 

        

 

4 3

2

1

2 3 4

( ) ( )( )

) (

) (

) (

) (

) 1

( ) ( ) 1

)(

1 (

x f x

f h

x f h

x f

h x

f h

x f h

x f x

f

 

k

k k

Dh 1 ln( 1   )

(9)

k = 1

 1 ( ) ( ) ( ) )

(

21 2 13 3

) 1

(

f x f x f x

x h f

k = 2

 1 ( ) ( ) ( ) )

(

2 2 3 1211 4

) 2

(

f x f x f x

x h f

k = 3

( ) ( ) ( ) ( )

) 1

(

3 3 23 4 74 5 2434 6

) 3

(

f x f x f x f x

x h

f        

k

k k

D h  

 

        

 

4 3

2

1

2 3 4

Możemy zatem wyprowadzić wzory na dowolne pochodne funkcji f(x) wyrażone za pomocą różnic wstecznych:

(10)

Różnice centralne

Wyprowadzone wcześniej wzory różniczkowania numerycznego funkcji f(x) w punkcie x = x0 mają tę wadę, że wykorzystuje się w nich jedynie wartości

funkcji f(x) dla argumentów leżących z jednej strony x0 . Wady tej nie posiadają wzory wykorzystujące wartości funkcji f(x) po prawej i po lewej stronie punktu x

= x0 . Są to wzory symetryczne, oparte na różnicach centralnych.

(11)

) ( )

(

! ) 2 2

! 1 1 2

2 (

2 2 2

x f e x

D f h

D h x h

f

D

h

 

 

 

 

 

   

) ( )

(

! ) 2 2

! 1 1 2

2 (

2 2 2

x f e

x D f

h D

h x h

f

D

h

 

 

 

 

 

   

Zdefiniujmy operator różnicy centralnej

) (

) (

)

( x f x

2h

f x

2h

f    

(12)

Zatem

) ( )

( x e

2

e

2

f x

f

D

D h h

 

 

 

  D

e

e

D h

D h h

2 2

2

  2 sinh

h D ) 2

arcsinh(

2

 ) arcsinh(

2

2

Dh

Rozwijając w szereg Taylora:

 

 

  

 

 

 

 

 

 

 

 

 ...

2 7 1 6 4 2

5 3 1 2

5 1 4 2

3 1 2

3 1 2 1 2

2  

3

5

7

D h

(13)

h D h

 

 

 2

2

h

x f x

x f Df

h

h

) ( )

) (

(  

2

 

2

( ) ( )

1 )

( )

) (

(

2 2 2 2

2 h h

h h

x Df x

h Df h

x f x

D f x

f

D    

 

    

 

2

) (

) ( 2 ) (

) (

) ( )

( )

( 1

h

h x f x

f h

x f h

h x f x

f h

x f h

x f h

 

 

 

     

(14)

operator uśredniania

(15)

Oszacowanie błędów

k

k k

x k f

x h f h

x

f ( )

) ! ( )

(

( )

W szczególności:

) 1 ( )

( )

( )

( )

( )

( x h f x hf

(1)

x O h

2

O h

3

f     

) ( )

) ( ( )

) ( ( )

1 (

.

(1)

O h O h

2

h

x f h

x x f

f równ

z      

) ( )

( 2

) (

) (

) 2 ( ) 1 (

. f x h f x h hf

(1)

x O h

3

równ

z       

) 2 ( (

) ( )

( )

( )

( x h f x hf

(1)

x O h

2

O h

3

)

f     

) ( )

) ( (

) ) (

( )

2 (

.

(1)

O h O h

2

h

h x f x

x f f

równ

z      

) ( )

( h

3

O h

2

O 

) 2 (

) (

) ) (

( 2

) 1

( O h

h

h x f h x x f

f     

(16)

h

x f x

f x

f x

x f f

h x f x

x f f

h

x f x

f x

x f f

h x f x x f

f

h

x f x

f x

x f f

h x f x

x f f

i i

i i

i

i i

i

i i

i i

i i

i

i i

i i

i i

i

12

) ( ) ( 8 ) ( 8 ) ) (

( '

2

) ( ) ) (

( '

2

) ( ) ( 4 ) ) (

( '

) ( ) ) (

( '

2

) ( ) ( 4 ) ( ) 3

( '

) ( ) ) (

( '

2 1

1 2

1 1

1 2

1

2 1

1

2

2 1

1 2

2

1 1

2 1 2

2

2 1

12

) ( ) ( 16 ) ( 30 ) ( 16 ) ) (

( ''

) ( ) ( 2 ) ) (

( ''

) ( ) ( 2 ) ) (

( ''

) ( ) ( 2 ) ) (

( ''

h

x f x

f x

f x

f x

x f f

h

x f x f x

x f f

h

x f x

f x

x f f

h

x f x

f x

x f f

i i

i i

i i

i i

i i

i i

i i

i i

i i

) (

) (

) (

) (

) (

) (

4 2 2 2

h O

h O

h O

h O

h O

h O Podsumowanie

) (

) (

) (

) (

4 2

h O

h O

h O

h O

Dwupunktowe różnice zwykłe Trzypunktowe różnice zwykłe Dwupunktowe różnice wsteczne Trzypunktowe różnice wsteczne Dwupunktowe różnice centralne Czteropunktowe różnice centralne

Trzypunktowe różnice zwykłe Trzypunktowe różnice wsteczne

Trzypunktowe różnice centralne Pięciopunktowe różnice centralne

Pierwsze pochodne

Drugie pochodne

(17)

Różniczkowanie za pomocą wielomianów Lagrange’a

Zapiszmy wielomian przechodzący przez trzy punkty (xi, yi), (xi+1, yi+1), (xi+2, yi+2)

2 1

2 2

1 1

2 1

1

2 2

1

2 1

) )(

(

) )(

( )

)(

(

) )(

( )

)(

(

) )(

) (

(

 

 

 

i

i i

i i

i i

i i

i i i

i i

i i

i i

i

i

i

y

x x

x x

x x x y x

x x

x x

x x x y x

x x

x x

x x x

x x f

2 1

2 2

1 1

2 1

1

2 2

1

2 1

) )(

(

2 )

)(

(

2 )

)(

( ) 2 (

'

 

 

 

i

i i

i i

i i

i i

i i i

i i

i i

i i

i

i

i

y

x x

x x

x x

y x x

x x x

x x

y x x

x x

x

x x

x x f

Różniczkując

Podstawmy x = xi+1

2 1

2 2

1 1

2 1

1

2 1

2 1

2 1

1

( )( ) ( )( )

2 )

)(

) ( (

'

 

 

 

 

i

i i

i i

i i

i i

i i i

i i

i i

i i

i i

i i

i

y

x x

x x

x y x

x x

x x

x x

y x x

x x

x

x x x

f

(18)

2 1

2 2

1 1

2 1

1

2 1

2 1

2 1

1

( )( ) ( )( )

2 )

)(

) ( (

'

 

 

 

 

i

i i

i i

i i

i i

i i i

i i

i i

i i i

i

i i

i

y

x x

x x

x y x

x x

x x

x x y x

x x

x x

x x x

f

Uwagi:

1. Gdy punkty są równomiernie rozłożone, czyli xi+2 - xi+1 = xi+1 - xi = h

2 1

1

) ( )( 2 ) ( )( ) ( 2 )( )

(

'

 

 

i i i

i

y

h h y h

h h

h y h

h h

x h f

h y y y

y h x h

f

i i i i i

2 2

1 2

) 1 (

'

1

  

2

2

Wzór dla różnic centralnych

2. Zaleta nr 1: punkty nie muszą być równomiernie rozłożone

3. Zaleta nr 2: możemy policzyć pochodną w dowolnym punkcie między xi a xi+2.

(19)

Rozważmy funkcję

f(x) = e

x

Policzmy pochodną w punkcie x=0 korzystając z dwupunktowych różnic centralnych.

) 2 (

) ( )

) ( (

' 1 1 O h2

h x f x

x f

f iii

gdzie x

i1

h oraz x

i1

  h )

2 ( )

0 (

' O h

2

h e f e

h

h

 

Podczas obliczeń komputer wprowadza błąd zaokrąglenia

2

1

e e R

R e

e

h

h

h

h

Wartości dokładne

) 2 (

) 2 2 (

) 0 (

'

1 2 2 1 2

O h

2

h R R

h e h e

h O

R e

R f e

h h

h

h

        

Błąd obcięcia Błąd

zaokrąglenia

Gdy zmniejszamy h, błąd obcięcia maleje, ale błąd zaokrąglenia rośnie.

h całkowity

błąd

Błąd w różniczkowaniu numerycznym

(20)

(i-2, j) (i-1, j) (i, j) (i+1, j) (i+2, j) (i, j+1)

(i, j+2)

(i, j-1)

(i, j-2)

(i+1, j+1) (i-1, j+1)

(i-1, j-1) (i+1, j-1)

Pochodne cząstkowe

Proste rozszerzenie metod dla pochodnych zupełnych (jednowymiarowych)

 

1 2 1

1 0

1

2 2

2 1

2 1

h x

f xx

h x

f x

f

f

(21)

Operator Laplace’a

2

f f

xx

f

yy

i-1 i i+1

j+1

j

j-1

|

1 2

1

| h

1

2

i-1 i i+1

j+1

j

j-1

1

|

2

| 1

h 1

+

2

i-1 i i+1

j+1

j

j-1

=

1

|

1 4

1

| 1

h 1

2

(22)

Pochodne mieszane

 

x y

f

i-1 i i+1

j+1

j

j-1

0 0

0

|

|

|

1 0

-1

|

|

|

0 0

0

h 2

1

y

 =

i-1 i i+1

j+1

j

j-1

1 0

1

|

|

|

0 0

0

|

|

|

1 0

1

h 4

1

=

2

(23)

Bilaplasjan (operator bi-harmoniczny)

 

 

 

 

y

f y

x 2 f x

f f

4

4 2

2 2 4

4 4

i-1 i i+1

j+1 j j-1

i-2 i+2

j-2

j+2

1

|

2 8

2

|

|

|

1 8

20 8

1

|

|

|

2 8

2

| 1

h 1

4

Cytaty

Powiązane dokumenty

[r]

Wykazać, że jeżeli funkcja f jest różniczkowalna i jednorodna, to

[r]

Niech H oznacza

Dane są dodatnio (prawostronnie) asymetryczne wtedy i tylko wtedy gdy ich funkcja symetrii jest niemalejąca.. Wykres dowolnej funkcji symetrii leży w pewnym

Zbadać typ jednego ze znalezionych punktów krytycznych, badając pochodne rzędu

Niech zmienna losowa X przyjmuje wartości równe ilości wyrzuconych orłów, natomi- ast zmienna losowa Y przyjmuje wartość 0, jeśli w pierwszym rzucie wypadł orzeł lub wartość

Niech zmienna losowa X przyjmuje wartości równe ilości wyrzuconych orłów, natomi- ast zmienna losowa Y przyjmuje wartość 0, jeśli w pierwszym rzucie wypadł orzeł lub wartość