• Nie Znaleziono Wyników

Plan wykładu:1. Idea interpolacji wielomianowej2. Interpolacja Lagrange'a3. Dobór węzłów interpolacji - wielomiany Czebyszewa4. Ilorazy różnicowe, różnice progresywne , różnice wsteczne5. Interpolacja Newtona6. Interpolacja funkcjami sklejanymi Interpolac

N/A
N/A
Protected

Academic year: 2021

Share "Plan wykładu:1. Idea interpolacji wielomianowej2. Interpolacja Lagrange'a3. Dobór węzłów interpolacji - wielomiany Czebyszewa4. Ilorazy różnicowe, różnice progresywne , różnice wsteczne5. Interpolacja Newtona6. Interpolacja funkcjami sklejanymi Interpolac"

Copied!
34
0
0

Pełen tekst

(1)

Interpolacja

Plan wykładu:

1. Idea interpolacji wielomianowej 2. Interpolacja Lagrange'a

3. Dobór węzłów interpolacji - wielomiany Czebyszewa

4. Ilorazy różnicowe, różnice progresywne , różnice wsteczne 5. Interpolacja Newtona

6. Interpolacja funkcjami sklejanymi

(2)

2 W przedziale [a,b] danych jest n+1 różnych

punktów x0,x1,x2,...,xn

(węzły interpolacji) oraz wartości funkcji y=f(x) w tych punktach:

Interpolacja polega na wyznaczeniu

przybliżonych wartości funkcji w punktach nie będących węzłami oraz na oszacowaniu błędu przybliżonych wartości. Problem interpolacji sprowadza się do znalezienia funkcji

interpolującej F(x), która w węzłach

przyjmuje wartości takie jak funkcja y=f(x) – funkcja interpolowana (jej postać funkcyjna może nie być nawet znana).

f (x

0

) = y

0

; f (x

1

) = y

1

; ¢ ¢ ¢ ; f (x

n

) = y

n

Do czego służy interpolacja?

1) Dla stablicowanych wartości funkcji i określonych położeń węzłów szukamy przybliżenia funkcji pomiędzy węzłami

a) zagęszczanie tablic

b) efektywniejsze (szybsze) rozwiązywanie równań nieliniowych

2) Interpolacja wielomianowa pozwala lokalnie przybliżyć dowolną funkcję (np. wyrażającą się skomplikowaną formułą) wielomianem – ułatwia to analizę rozwiązań w modelach fizycznych

3) wykorzystuje się w całkowaniu numerycznym 4) w dwóch i trzech wymiarach do modelowania

powierzchnii

Interpolację najczęściej przeprowadza się przy pomocy:

a) wielomianów algebraicznych (nieortogonalne lub ortogonalne)

b) wielomianów trygonometrycznych c) funkcji sklejanych

Powyższe funkcje stanowią bazy funkcyjne – funkcja interpolująca jest kombinacją elementów bazowych.

(3)

3 Idea interpolacji wielomianowej

(mało efektywna) Tw.

Istnieje dokładnie jeden wielomian

interpolacyjny stopnia co najwyżej n (n ≥ 0 ), który w punktach x0,x1,x2,...,xn przyjmuje

wartości y0,y1,y2,...,yn. Dowód.

n+1 węzłów rozmieszczonych jest w dowolny sposób w [a,b]. Szukamy wielomianu

interpolacyjnego w postaci:

Podstawiając do Wn(x) kolejno x0,x1,x2,...,xn dostajemy układ n+1 równań na

współczynniki ai:

W

n

(x) = a

0

+ a

1

x + a

2

x

2

+ : : : + a

n

x

n

a

0

+ a

1

x

0

+ a

2

x

20

+ ¢ ¢ ¢ + a

n

x

n0

= y

0

a

0

+ a

1

x

1

+ a

2

x

21

+ ¢ ¢ ¢ + a

n

x

n1

= y

1

¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ = ¢ ¢ ¢ a

0

+ a

1

x

n

+ a

2

x

2n

+ ¢ ¢ ¢ + a

n

x

nn

= y

n

Macierz współczyników układu:

Wyznacznik:

jest wyznacznikiem Vandermode'a

więc układ ma dokładnie jedno rozwiązanie

Dij – wyznaczniki macierzy dopełnień algebraicznych

A = 2 6 6 6 6 6 4

1 x

0

x

20

x

30

¢ ¢ ¢ x

n0

1 x

1

x

21

x

31

¢ ¢ ¢ x

n1

¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ 1 x

n

x

2n

x

3n

¢ ¢ ¢ x

nn

3 7 7 7 7 7 5

D =

¯ ¯

¯ ¯

¯ ¯

¯ ¯

¯ ¯

¯

1 x

0

x

20

x

30

¢ ¢ ¢ x

n0

1 x

1

x

21

x

31

¢ ¢ ¢ x

n1

¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ 1 x

n

x

2n

x

3n

¢ ¢ ¢ x

nn

¯ ¯

¯ ¯

¯ ¯

¯ ¯

¯ ¯

¯

a

i

= 1 D

X

n j=0

y

j

D

ij

D = Y

0·j<i·n

(x

i

¡ x

j

) 6= 0

(4)

4 Interpolacja Lagrange'a

Korzystamy z poprzedniego wyniku, tj. podstawiamy

do

i grupujemy składniki przy yi

funkcje i(x) są wielomianami co najwyżej stopnia n.

Zauważmy, że dla dowolnego xi zachodzi zależność:

skąd wynika warunek

a

i

= 1 D

X

n j=0

y

j

D

ij

W

n

(x) = a

0

+ a

1

x + a

2

x

2

+ : : : + a

n

x

n

W

n

(x) = y

0

©

0

(x) + y

1

©

1

(x) + ¢ ¢ ¢ + y

n

©

n

(x)

W

n

(x

i

) = y

0

©

0

(x

i

) + y

1

©

1

(x

i

) + : : : + y

n

©

n

(x

i

) = y

i

©

j

(x

i

) =

½ 0 gdy j 6= i

1 gdy j = i

(5)

5 Wniosek: aby okreslić funkcje j(x) należy znaleźć taki wielomian, który

zeruje się w węzłach xi ≠ xj oraz przyjmuje wartość 1 w węźle xj. Taką funkcją mógłby być np. wielomian:

który w xj przyjmuje wartość 1:

©

j

(x) = ¸(x ¡ x

0

)(x ¡ x

1

) : : : : : : (x ¡ x

j¡1

)(x ¡ x

j+1

) : : : (x ¡ x

n

)

©

j

(x) = (x ¡ x

0

)(x ¡ x

1

) ¢ ¢ ¢ (x ¡ x

j¡1

)(x ¡ x

j+1

) ¢ ¢ ¢ (x ¡ x

n

)

(x

j

¡ x

0

)(x

j

¡ x

1

) ¢ ¢ ¢ (x

j

¡ x

j¡1

)(x

j

¡ x

j+1

) ¢ ¢ ¢ (x

j

¡ x

n

)

1 = ¸(x

j

¡ x

0

)(x

j

¡ x

1

) ¢ ¢ ¢ (x

j

¡ x

j¡1

)(x

j

¡ x

j+1

) ¢ ¢ ¢ (x

j

¡ x

n

)

(6)

6 Szukany wielomian przyjmuje postać:

lub krócej, oznaczając

Wzór interpolacyjny Lagrange'a ma postać

W

n

(x) = y

0

(x ¡ x

1

)(x ¡ x

2

) ¢ ¢ ¢ (x ¡ x

n

) (x

0

¡ x

1

) ¢ ¢ ¢ (x

0

¡ x

n

)

+ y

1

(x ¡ x

0

)(x ¡ x

2

) ¢ ¢ ¢ (x ¡ x

n

) (x

1

¡ x

0

)(x

1

¡ x

2

) ¢ ¢ ¢ (x

1

¡ x

n

)

+ ¢ ¢ ¢ + y

n

(x ¡ x

0

)(x ¡ x

2

) ¢ ¢ ¢ (x ¡ x

n¡1

) (x

n

¡ x

0

)(x

n

¡ x) ¢ ¢ ¢ (x

n

¡ x

n¡1

)

=

X

n j=0

y

j

(x ¡ x

0

)(x ¡ x

1

) ¢ ¢ ¢ (x ¡ x

j¡1

)(x ¡ x

j+1

) ¢ ¢ ¢ (x ¡ x

n

) (x

j

¡ x

0

)(x

j

¡ x

1

) ¢ ¢ ¢ (x

j

¡ x

j¡1

)(x

j

¡ x

j+1

) ¢ ¢ ¢ (x

j

¡ x

n

)

!

n

(x) = (x ¡ x

0

)(x ¡ x

1

) ¢ ¢ ¢ (x ¡ x

n

)

W

n

(x) = X

n j=0

y

j

!

n

(x) (x ¡ x

j

)

½

!n(x) x¡xj

¾¯¯ ¯ ¯

x=xj

= X

n j=0

y

j

!

n

(x)

(x ¡ x

j

)!

n0

(x

j

)

(7)

7 Przykład: dla węzłów x=-2,1,2,4 w których funkcja przyjmuje wartości

3,1,-3,8 należy znaleźć wielomian interpolacyjny Lagrange'a.

W

3

(x) = 3 (x ¡ 1)(x ¡ 2)(x ¡ 4)

( ¡2 ¡ 1)(¡2 ¡ 2)(¡2 ¡ 4) + 1 (x + 2)(x ¡ 2)(x ¡ 4) (1 + 2)(1 ¡ 2)(1 ¡ 4)

¡ 3 (x + 2)(x ¡ 1)(x ¡ 4)

(2 + 2)(2 ¡ 1)(2 ¡ 4) + 8 (x + 2)(x ¡ 1)(x ¡ 2) (4 + 2)(4 ¡ 1)(4 ¡ 2)

= 2

3 x

3

¡ 3

2 x

2

¡ 25

6 x + 5

Oszacowanie błędu wzoru interpolacyjnego

Interesuje nas rożnica pomiędzy wartościami funkcji interpolowanej i interpolującej w pewnym punkcie x∈ [x0,xn] nie będącym węzłem:

Zakładamy, że funkcja f(x) jest n+1 krotnie różniczkowalna. Wprowadzamy funkcję pomocniczą (jeśli znajdziemy wartość K i zażądamy znikania  to dodatkowy wyraz będzie opisywał błąd interpolacji):

(K -stała), która spełnia warunek interpolacji

'(x

0

) = '(x

1

) = ¢ ¢ ¢ = '(x

n

) = 0

"(x) = f (x) ¡ W

n

(x)

'(u) = f (u) ¡ W

n

(u) ¡ K(u ¡ x

0

)(u ¡ x

1

) ¢ ¢ ¢ (u ¡ x

n

)

(8)

8 Wartość współczynnika K dobieramy tak aby

pierwiastkiem funkcji (u) był punkt ,

wówczas możemy zapisać warunek na stałą K

Mianownik jest różny od 0 więc funkcja (u) jest n+2 krotnie różniczkowalna. Pochodna funkcji ma co najmniej jedno miejsce zerowe w przedziale ograniczonym jej miejscami

zerowymi (tw. Rolle'a) więc ma ich conajmniej n+1. Każda kolejna pochodna ma o jedno miejsce zerowe mniej. Istnieje zatem taki punkt, że

i podobnie dla wielomianu interpolującego

n+1 pochodna funkcji pomocniczej ma postać

x ¹

K = f (¹ x) ¡ W

n

(¹ x)

(¹ x ¡ x

0

)(¹ x ¡ x

1

) : : : (¹ x ¡ x

n

)

= f (¹ x) ¡ W

n

(x)

!

n

(¹ x)

'

(n+1)

(») = 0

W

n(n+1)

(x) = 0

!

n(n+1)

(x) = (n + 1)!

'

(n+1)

(u) = f

(n+1)

(u) ¡ K(n + 1)!

Dla

można oszacować błąd interpolacji

Oznaczmy kres górny modułu n+1 pochodnej

Może posłużyć do oszacowania błędu bezwględnego wzoru interpolacyjnego pod warunkiem, że znamy maksymalną wartość n+1 pochodnej f(x) w zadanym przedziale – możemy nie znać dokładnej postaci funkcji, ale z analizy problemu możemy

wywnioskować jaka powinna to być zależność.

u = »

K = f

(n+1)

(») (n + 1)!

"(x) = f (x) ¡ W

n

(x) = f

(n+1)

(»)

(n + 1)! !

n

(x)

M

n+1

= sup

x2[a;b]

jf

(n+1)

(x) j jf(x) ¡ W

n

(x) j · M

n+1

(n + 1)! j!

n

(x) j

(9)

9 Przykład. Oszacować błąd wzoru interpolacyjnego

przy obliczaniu wartości ln100.5.

Dane są wartości: ln100, ln101, ln102, ln103.

Dobór węzłów interpolacji.

Oszacowanie błędu interpolacji Lagrange'a zależy od:

1) postaci funkcji (n+1 pochodna) 2) ilości węzłów (mianownik)

3) położenia węzłów (n(x))

Wartośc oszcowania można ograniczyć jedynie zmieniając położenia węzłów (pkt. (3)).

Chcemy zatem aby

było jak najmniejsze.

f (x) = ln(x); n = 3;

a = 100; b = 103;

f

(4)

(x) = ¡ 6 x

4

M

4

= sup

x2[100;103]

jf

4

(x) j = 6 100

4

jln100:5 ¡ W (100:5)j · 2:344 ¢ 10

¡9

sup

x2[a;b]

j!

n

(x) j

Optymalne położenia węzłów stanowią zera wielomianów Czebyszewa

Relacje rekurencyjne

Zera wielomianów

Szukamy funkcji n(x), która musi być wielomianem Czebyszewa (znormalizowanym do 1 – relacja

rekurencyjna dla Tn(x))

T

n

(x) = cos(n ¢ arc cos(x)) x 2 [¡1; 1]

T

0

(x) = 1

T

1

(x) = cos(arc cos(x)) = x

T

n

(x) = 2xT

n¡1

(x) ¡ T

n¡2

(x); n ¸ 2

!

n

(x) = T

n¤

(x)

T

n¤

(x) = 1

2

n¡1

T

n

(x)

= (x ¡ x

0

)(x ¡ x

1

) ¢ ¢ ¢ (x ¡ x

n¡1

) x

m

= cos

µ 2m + 1 2n + 2 ¼

; m = 0; 1; 2; : : : ; n

(10)

10 Skalowanie przedziału [-1,1] na [a,b]

Skalowanie z [a,b] na [-1,1]

Optymalne położenie węzłów można wyznaczyć wg wzoru:

Węzły nie są rozmieszczone równomiernie, ale są

zagęszczone na krańcach przedziału. Przy takim wyborze węzłów oszacowanie błędu jest następujące:

Wielomian wyznaczony przy takim ułożeniu węzłów na ogół nie daje najmniejszego błędu tylko jego najmniejsze oszacowanie.

x = 1

2 [(b ¡ a)z + (b + a)]; x 2 [a; b]

z = 1

b ¡ a (2x ¡ b ¡ a); z 2 [¡1; 1]

jf(x) ¡ W

n

(x) j · M

n+1

(n + 1)!

(b ¡ a)

n+1

2

2n+1

m = 0; 1; : : : ; n

(11)

11 Ilorazy różnicowe.

Funkcja f(x) przyjmuje w punktach wartości

Zakładamy że różnice

mogą nie być stałe

Ilorazy różnicowe definiujemy następująco:

a) pierwszego rzędu

b) drugiego rzędu

c) n-tego rzędu

x

i

; i = 0; 1; : : : ; n; x

i

6= x

j

f (x

0

); f (x

1

); : : : ; f (x

n

)

¢x

i

= x

i+1

¡ x

i

f (x

n¡1

; x

n

) = f (x

n

) ¡ f(x

n¡1

) x

n

¡ x

n¡1

f (x

n¡2

; x

n¡1

; x

n

) = f (x

n¡1

; x

n

) ¡ f (x

n¡2

; x

n¡1

) x

n

¡ x

n¡2

f (x

i

; x

i+1

; : : : ; x

i+n

) = f (x

i+1

; x

i+2

; : : : ; x

i+n

) ¡ f (x

i

; x

i+1

; : : : ; x

i+n¡1

)

x

i+n

¡ x

i

(12)

12

xi f(xi) Ilorazy różnicowe

1 rzędu 2 rzędu 3 rzędu 4 rzędu 5 rzędu X0

x1

x2

x3

x4

x5

f(x0) f(x1) f(x2) f(x3) f(x4) f(x5)

f(x0;x1) f(x1;x2) f(x2;x3) f(x3;x4) f(x4;x5)

f(x0;x1;x2) f(x1;x2;x3) f(x2;x3;x4) f(x3;x4;x5)

f(x0;x1;x2;x3) f(x1;x2;x3;x4) f(x2;x3;x4;x5)

f(x0;...;x4)

f(x1;...;x5) f(x0;...;x5) Przy założeniu i=0, iloraz różnicowy n-tego rzędu można zapisać:

Dowód przez indukcję: dla n=1

Zazwyczaj tworzy się tablicę z ilorazami różnicowymi (łatwe do zaprogramowania na komputerze)

f (x

0

; x

1

; : : : ; x

n

) = X

n j=0

f (x

j

)

(x

j

¡ x

0

)(x

j

¡ x

1

) : : : (x

j

¡ x

j¡1

)(x

j

¡ x

j+1

) : : : (x

j

¡ x

n

)

f (x

i

; x

i+1

) = f (x

i+1

) ¡ f(x

i

)

x

i+1

¡ x

i

= f (x

i

)

x

i

¡ x

i+1

+ f (x

i+1

) x

i+1

¡ x

i

f (x

0

; x

1

; : : : ; x

n

) =

X

n j=0

f (x

j

)

!

n0

(x

j

)

(13)

13 Różnice progresywne (dla równoodległych węzłów)

Zakładamy że węzły interpolacji tworzą ciąg arytmetyczny i są równoodległe:

Różnice progresywne („w przód”) definiujemy następująco:

a) pierwszego rzędu

b) drugiego rzędu

c) n-tego rzędu

x

n

= x

0

+ nh n = 0; 1; 2; 3; : : :

h = const

¢f = f (x + h) ¡ f(x)

¢

n

f = ¢(¢

n¡1

f ); n = 2; 3; : : :

¢

2

f = ¢(¢ f ) = ¢[f (x + h) ¡ f(x)]

= [ f (x + 2h) ¡ f (x + h)] ¡ [f(x + h) ¡ f(x)]

= f (x + 2h) ¡ 2f(x + h) + f(x)

(14)

14 Różnicę progresywną dowolnego rzędu funkcji f można

przedstawić jako kombinacje liniową wartości tej funkcji

Dla funkcji stablicowanej (w interpolacji) wygodniej jest przyjąć oznaczenia

Własności różnic progresywnych:

1) Różnica progresywna wielomianu stopnia n jest wielomianem stopnia n-1

2) n-tą różnicę można wyznaczyć za pomocą wzoru

3) Dysponując wartościami różnic progresywnych można wyznaczyć wartość yi

¢

0

f (x) = f (x)

¢

n

f (x) = ¢

n¡1

f (x + h) ¡ ¢

n¡1

f (x) n = 1; 2; : : :

y

i

= f (x

i

)

¢

0

y

i

= y

i

¢

n

y

i

= ¢

n¡1

y

i+1

¡ ¢

n¡1

y

i

¢

n

y

i

= X

n j=0

( ¡1)

j

µ n

j

y

i+n¡j

y

k

= y

0

+ µ k

1

¢y

0

+ µ k

2

¢

2

y

0

+ ¢ ¢ ¢ + µ k

k

¢

k

y

0

(15)

15 Własności operatora 

xi yi

yi yi yiyiyi

x0

x1

x2

x3

x4

x5

y0

y1

y2

y3

y4

y5

y0

y1

y2

y3

y4

y0

y1

y2

y3

y0

y1

y2

y0

y1

y0

¢(g

k

§ f

k

) = ¢g

k

§ ¢f

k

¢(af

k

) = a¢f

k

¢

m

n

f

k

) = ¢

m+n

f

k

¢[f (x

k

) ¢ g(x

k

)] = f (x

k+1

)¢g(x

k

) + g(x

k+1

)¢f (x

k

)

¢ f (x

k

)

g(x

k

) = ¢f (x

k

)g(x

k

) ¡ f(x

k

)¢g(x

k

)

g(x

k+1

)g(x

k

) ; g(x

k+1

)g(x

k

) 6= 0

¢c = 0; c = const

(16)

16 xi yi

yi yi yiyiyi

0 1 2 3 4 5

-1 0 7 26 63 124

1 7 19 37 61

6 12 18 24

6 6 6

0

0 0

Różnice wsteczne

Różnicę wsteczną pierwszego rzędu definiujemy następująco:

Różnica wsteczna k-tego rzędu:

ry

i

= f (x

i

) ¡ f(x

i¡1

); i = 1; 2; ¢ ¢ ¢ ; n

r

k

y = r

k¡1

y

i

¡ r

k¡1

y

i¡1

r

0

y

0

= y

0

k = 1; 2; : : : ; n

i = k; k + 1; : : : ; n

y = x

3

¡ 1

(17)

17 xi yi r1yi r2yi r3yi r4yi r5yi

x-6

x-5

x-4

x-3

x-2

x-1

x0

y-6

y-5

y-4

y-3

y-2

y-1

y0

ry-5

ry-4 ry-3 ry-2 ry-1 ry0

r2y-4

r2y-3

r2y-2

r2y-1

r2y0

r3y-3

r3y-2

r3y-1

r3y0

r4y-2

r4y-1

r4y0

r5y-1

r5y0

(18)

18 Interpolacja Newtona dla nierównoodległych węzłów

Zakładamy że odległości między węzłami mogą być różne

Szukamy wielomianu interpolacyjnego w postaci:

I musi on spełniać warunek w węzłach interpolacji

Szakany wieloman zapiszemy w równoważnej postaci

gdzie różnice

Są wielomianami zdefiniowanymi następująco

W

n

(x) = X

n j=0

y

j

(x ¡ x

0

)(x ¡ x

1

) ¢ ¢ ¢ (x ¡ x

j¡1

)(x ¡ x

j+1

) ¢ ¢ ¢ (x ¡ x

n

) (x

j

¡ x

0

)(x

j

¡ x

1

) ¢ ¢ ¢ (x

j

¡ x

j¡1

)(x

j

¡ x

j+1

) ¢ ¢ ¢ (x

j

¡ x

n

)

W

n

(x

i

) = f (x

i

); i = 0; 1; 2; ¢ ¢ ¢ ; n

W

n

(x) = W

0

(x) + [W

1

(x) ¡ W

0

(x)] + [W

2

(x) ¡ W

1

(x)] + ¢ ¢ ¢ + [W

n

(x) ¡ W

n¡1

(x)]

W

k

(x) ¡ W

k¡1

(x)

¢x

i

= x

i+1

¡ x

i

; i = 0; 1; 2; : : :

W

k

(x) ¡ W

k¡1

(x) = A

k

(x ¡ x

0

)(x ¡ x

1

) ¢ ¢ ¢ (x ¡ x

k¡1

); A

k

= const

(19)

19 Stałą A wyznaczamy dokonując podstawienia x=xk

Korzystamy z warunku

Wyrażenie w nawiasie jest ilorazem różnicowym k-tego rzędu.

W

k

(x

k

) = f (x

k

)

!

n

(x) = (x ¡ x

0

)(x ¡ x

1

) ¢ ¢ ¢ (x ¡ x

n

)

W

k

(x

k

) ¡ W

k¡1

(x

k

) = A

k

(x

k

¡ x

0

)(x

k

¡ x

1

) ¢ ¢ ¢ (x

k

¡ x

k¡1

)

A

k

= f (x

k

)

(x

k

¡ x

0

)(x

k

¡ x

1

) ¢ ¢ ¢ (x

k

¡ x

k¡1

) ¡

P

k¡1

i=0

f (x

i

)

!k¡1(xk)

(xk¡xi)!k¡10 (xi)

(x

k

¡ x

0

)(x

k

¡ x

1

) ¢ ¢ ¢ (x

k

¡ x

k¡1

)

A

k

= f (x

k

)

!

k0

(x

k

) ¡

k

X

¡1 i=0

f (x

i

)

(x

k

¡ x

i

)!

k0 ¡1

(x

i

) = X

k

i=0

f (x

i

)

!

k0

(x

i

)

W

k

(x) ¡ W

k¡1

(x) =

µ X

k

i=0

f (x

i

)

!

k0

(x

i

)

!

k¡1

(x)

(20)

20 Wielomian interpolacyjny można zapisać przy użyciu formuły

opisującej n-ty iloraz różnicowy:

Powyższa formuła nazywana jest wzorem interpolacyjnym Newtona dla nierównych odstępów argumentów.

Przykład.

Znaleźć wielomian interpolujący funkcję f(x) dla stablicowanej funkcji:

f(0)=1, f(2)=3, f(3)=2, f(4)=5, f(6)=7

W

n

(x) = f (x

0

) + f (x

0

; x

1

)!

0

(x) + f (x

0

; x

1

; x

2

)!

1

(x) + ¢ ¢ ¢ + f(x

0

; x

1

; ¢ ¢ ¢ ; x

n

)!

n¡1

(x)

xi f(xi) f(xi;xi+1) f(xi;...;xi+2) f(xi;...;xi+3) f(xi;...;xi+4) 0

2 3 4 6

1 3 4 5 7

1 -1

3 1

-2/3 2 -2/3

2/3

-2/3 -2/9

W

4

(x) = 1 + 1(x ¡ 0) ¡ 2

3 (x ¡ 0)(x ¡ 2) + 2

3 (x ¡ 0)(x ¡ 2)(x ¡ 3)

¡ 2

9 (x ¡ 0)(x ¡ 2)(x ¡ 3)(x ¡ 4)

= ¡ 2

9 x

4

+ 8

3 x

3

¡ 88

9 x

2

+ 35

3 x + 1

(21)

21 Wzory interpolacyjne Newtona dla równoodległych

wartości argumentu

Dane są wartości funkcji f(x)

Dla siatki węzłów o stałym kroku h

Iloraz różnicowy n-tego rzędu dla równoodległych węzłów:

x

i

= x

0

+ ih

i = 0; 1; 2; ¢ ¢ ¢ ; n h = const

y

i

= f (x

i

); i = 0; 1; 2; : : : ; n

f (x

0

) = a

0

= y

0

f (x

0

; x

1

) = a

1

= y

1

¡ y

0

h f (x

0

; x

1

; x

2

) = a

2

=

y2¡y1

h

¡

y1¡yh 0

2h = y

2

¡ 2y

1

+ y

0

2h

2

¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ f (x

0

; ¢ ¢ ¢ ; x

n

) = y

n

¡ ny

n¡1

+ ¡

n

2

¢ y

n¡2

¡ ¢ ¢ ¢ + (¡1)

n

y

0

n!h

n

(22)

22

W

n

( x) = y

0

+ ¢ y

0

h ( x ¡ x

0

) + ¢

2

y

0

2! h

2

( x ¡ x

0

)( x ¡ x

1

) + ¢ ¢ ¢ + ¢

n

y

0

n!h

n

( x ¡ x

0

)( x ¡ x

1

) ¢ ¢ ¢ (x ¡ x

n¡1

) a

0

= y

0

a

1

= ¢y

0

=h a

2

= ¢

2

y

0

=2h

2

a

k

= ¢

k

y

0

k! ¢ h

k

; k = 0; 1; 2; : : : ; n

Wykorzystujemy wzory na różnice progresywne:

Po podstawieniu ak do wzoru interpolacyjnego Newtona otrzymamy

powyższa formuła nosi nazwę pierwszego wzoru interpolacyjnego Newtona (wzór interpolacyjny Newtona na interpolację w przód).

W praktyce wygodniej jest używać tego wzoru w nieco zmienionej postaci.

Dokonajmy podstawienia:

q = x ¡ x

0

h x ¡ x

1

h = x ¡ (x

0

+ h)

h = q ¡ 1

x ¡ x

2

h = x ¡ (x

0

+ 2h)

h = q ¡ 2

¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ x ¡ x

n¡1

h = x ¡ [x

0

+ (n ¡ 1)h]

h = q ¡ (n ¡ 1)

(23)

23 Powyższy wzór stosuje się w otoczeniu punktu x0 tj. q<1. Gdy q>1 wówczas za

x0 należy wybrać najbliższy węzeł taki że xi<x, aby q znowu było mniejsze od 1.

Wzór interpolacyjny Newtona na interpolację wstecz (drugi wzór interpolacyjny Newtona)

Interesuje nas teraz interpolacja w pobliżu końca tablicy (w okolicy punktu xn).

Szukamy więc wielomianu iterpolacyjnego w postaci:

punktom

odpowiadają teraz punkty

W

n

(x) = y

0

+ ry

0

h (x ¡ x

0

) + r

2

y

0

2!h

2

(x ¡ x

0

)(x ¡ x

¡1

) + ¢ ¢ ¢ + r

n

y

0

n!h

n

(x ¡ x

0

)(x ¡ x

¡1

) ¢ ¢ ¢ (x ¡ x

¡n+1

) x

¡n

; x

¡n+1

; ¢ ¢ ¢ ; x

¡1

; x

0

x

0

; x

1

; ¢ ¢ ¢ ; x

n¡1

; x

n

W

n

(x) = W

n

(x

0

+ qh) = y

0

+ q

1! ¢y

0

+ q(q ¡ 1)

2! ¢

2

y

0

+ : : : + q(q ¡ 1) : : : (q ¡ n + 1)

n! ¢

n

y

0

(24)

24 Jeśli dokonamy podstawienia

to otrzymamy wzór interpolacyjny Newtona na interpolację wstecz

Zbieżność procesów interpolacyjnych

1) Zwiększanie liczby węzłów interpolacji (przy stałych odległościach) nie zawsze prowadzi do mniejszego oszacowania błędu. Wpływ na to mają oscylacje wielomianów wyższych rzędów. Jest to efekt Rungego - zadanie jest źle uwarunkowane.

2) Interpolacja funkcji, której przebieg znacznie różni się od przebiegu wielomianu interpolacyjnego, może nie dawać dobrych wyników przy dużej liczbie węzłów. Wpływ na to mają pojawiające się ekstrema w funkcji interpolującej (np.: f(x)=1/x).

q = x

0

¡ x h

W

n

(x) = y

0

¡ qry

0

+ q(q ¡ 1)

2 r

2

y

0

¡ : : : + ( ¡1)

n

q(q ¡ 1)(q ¡ 2) : : : (q ¡ n + 1)

n! r

n

y

0

(25)

25

(26)

26 Interpolacja funkcjami sklejanymi - sklejki

W przedziale [a,b] mamy n+1 punktów takich że:

Punkty te określają podział przedziału [a,b] na n podprzedziałów tj. [xi,xi+1].

Funkcję s(x) określoną na przedziale [a,b] nazywamy funkcją sklejaną stopnia m (m≥1) jeżeli:

1) s(x) jest wielomianem stopnia conajwyżej m na każdym podprzedziale (xi; xi+1), i=0,1,...,n-1

2) s(x) ∈ Cm{1([a,b])

Punkty xj nazywamy węzłami funkcji sklejanej. W każdym przedziale (xi,xi+1) funkcja s(x) jest wielomianem stopnia conajwyżej m:

Funkcja interpolująca jest kombinacją liniową elementów bazy {si(x)}

a = x

0

< x

1

< ¢ ¢ ¢ < x

n¡1

< x

n

= b

s

i

(x) = c

im

x

m

+ c

im¡1

x

m¡1

+ ¢ ¢ ¢ + c

i1

x + c

i0

; x 2 (x

i

; x

i+1

)

s(x) =

n

X

¡1 i=0

c

i

s

i

(x); x 2 [a; b]

(27)

27 W każdym z n podprzedziałów aby określić s(x) należałoby wyznaczyć m+1 stałych.

Ale żądamy ciągłości pochodnych rzędu 0,1,2,..,m-1 w każdym z węzłów (sklejamy rozwiązania) co daje nam m(n-1) warunków. Ostatecznie funkcja s(x) zależy

„jedynie” od: n(m+1)-m(n-1)=n+m parametrów które należy wyznaczyć.

m=0

m=1

m=2

← funkcje nie „sklejają się”

← funkcja ciągła, ale

pochodne nie są ciągłe

← funkcja ciągła,

pierwsza pochodna też ciągła

(28)

28 Funkcje sklejane trzeciego stopnia (m=3)

(najczęściej stosowane).

Funkcję s(x) nazywamy interpolacyjną funkcją sklejaną stopnia trzeciego dla funkcji f(x), jeżeli

Do określenia funkcji s(x) stopnia trzeciego konieczne jest wyznaczenie (n+3) parametrów.

Ponieważ ilość węzłów jest równa n+1

pozostają 2 stopnie swobody. Musimy nałożyć dwa dodatkowe warunki. Rodzaj tych warunków zależy od funkcji f(x) lub od znajomości jej

zachowania w pobliżu końców przedziału [a,b]:

1 rodzaj warunków 2 rodzaj warunków (1 pochodna) (2 pochodna)

gdzie: są ustalonymi liczbami

3 rodzaj warunków stosuje się dla funkcji okresowych (warunek na 1 i 2 pochodną):

s

(2)

( a + 0) = ®

2

s

(2)

( b ¡ 0) = ¯

2

s

(1)

( a + 0) = ®

1

s

(1)

( b ¡ 0) = ¯

1

®

1

; ®

2

; ¯

1

; ¯

2

s(x

i

) = f (x

i

) = y

i

; i = 0; 1; : : : ; n; n ¸ 2

s

(i)

(a + 0) = s

(i)

(b ¡ 0); i = 1; 2

Interpolacja funkcjami sklejanymi poprzez wyznaczenie wartości drugich pochodnych w węzłach.

Oznaczmy

Zgodnie z założeniem druga pochodna funkcji s(x) jest ciągła i liniowa w każdym z podprzedziałów [xi-1,xi].

Możemy więc zapisać:

Całkujemy dwukrotnie powyższe wyrażenie:

M

j

= s

(2)

(x

j

); j = 0; 1; : : : ; n

s

(2)i¡1

(x) = M

i¡1

x

i

¡ x

h

i

+ M

i

x ¡ x

i¡1

h

i

x 2 [x

i¡1

; x

i

]

h

i

= x

i

¡ x

i¡1

s

(1)i¡1

( x) = ¡M

i¡1

( x

i

¡ x)

2

2 h

i

+ M

i

( x ¡ x

i¡1

)

2

h

i

+ A

i

s

i¡1

(x) = M

i¡1

(x

i

¡ x)

3

6h

i

+ M

i

(x ¡ x

i¡1

)

3

6h

j

+ A

i

(x ¡ x

i¡1

) + B

i

(29)

29 Stałe Ai i Bi wyznaczamy korzystając z warunku

interpolacji:

W punkcie xi pochodna musi być ciągła:

Porównując prawe strony dwóch powyższych równań dla każdego z węzłów uzyskamy (n-1) równań, które można zapisać w postaci:

s

i¡1

(x

i¡1

) = M

i¡1

h

2i

6 + B

i

= y

i¡1

s

i¡1

(x

i

) = M

i

h

2i

6 + A

i

h

i

+ B

i

= y

i

A

i

= y

i

¡ y

i¡1

h

i

¡ h

i

6 (M

i

¡ M

i¡1

) B

i

= y

i¡1

¡ M

i¡1

h

2i

6

s

(1)i¡1

(x

i

) = s

(1)i

(x

i

); i = 1; 2; ¢ ¢ ¢ ; n

s

(1)i¡1

(x

i

¡ 0) = h

i

6 M

i¡1

+ h

i

3 M

i

+ y

i

¡ y

i¡1

h

i

s

(1)i

(x

i

+ 0) = ¡ h

i+1

3 M

i

¡ h

i+1

6 M

i+1

+ y

i+1

¡ y

i

h

i+1

¹

i

M

i¡1

+ 2M

i

+ ¸

i

M

i+1

= d

i

; i = 1; 2; : : : ; n ¡ 1

¸

i

= h

i+1

h

i

+ h

i+1

; ¹

i

= 1 ¡ ¸

i

(30)

30 Do układu równań należy dołączyć jeszcze 2 równania wynikające z dodatkowych

warunków.

Dla warunków z 1 pochodną:

Dla warunków z 2 pochodną

M

0

= ®

2

M

n

= ¯

2

d

i

= 6

h

i

+ h

i+1

µ y

i+1

¡ y

i

h

i+1

¡ y

i

¡ y

i¡1

h

i

= 6f (x

i¡1

; x

i

; x

i+1

)

2M

0

+ M

1

= d

0

d

0

= 6 h

1

µ y

1

¡ y

0

h

1

¡ ®

1

M

n¡1

+ 2M

n

= d

n

d

n

= 6 h

1

µ

¯

1

¡ y

n

¡ y

n¡1

h

n

(31)

31 Otrzymujemy układ równań który można przedstawić

w postaci macierzowej:

Macierz współczynników układu, jest macierzą silnie diagonalnie dominująca.

Moduły elementów na diagonali są większe od sumy modułów pozostałych elementów leżących w tym samym wierszu. Układy te mają więc jednoznaczne rozwiązanie – istnieje dokładnie jedna interpolacyjna funkcja sklejana stopnia trzeciego spełniająca przyjęte warunki dodatkowe.

Po rozwiązaniu układu równań - znalezieniu współczynników Mi – wyznaczamy funkcję sklejaną wg wzoru:

s

i¡1

(x) = M

i¡1

(x

i

¡ x)

3

6h

i

+ M

i

(x ¡ x

i¡1

)

3

6h

i

+ A

i

(x ¡ x

i¡1

) + B

i

2 6 6 6 6 6 6 6 4

2 1 0 ¢ ¢ ¢ 0

¹

1

2 ¸

1

¢ ¢ ¢ 0 0 ¹

2

2 ¢ ¢ ¢ 0

.. . .. .

0 ¢ ¢ ¢ 2 ¸

n¡1

0 ¢ ¢ ¢ 1 2

3 7 7 7 7 7 7 7 5

2 6 6 6 6 6 6 6 6 4

M

0

M

1

.. . .. . M

n¡1

M

n

3 7 7 7 7 7 7 7 7 5

= 2 6 6 6 6 6 6 6 6 4

d

0

d

1

.. . .. . d

n¡1

d

n

3

7 7

7 7

7 7

7 7

5

(32)

32 xj-2 xj-1 xj xj+1 xj+2

3j(x) 0 1 4 1 0 [3j(x)]' 0 3/h 0 -3/h 0 [3j(x)]'' 0 6/h2 -12/h2 6/h2 0 Interpolacja funkcjami sklejanymi w bazie Zakładamy, że węzły są równoodległe

Bazę stanowią funkcje

Funkcję s(x) można przedstawić w postaci kombinacji liniowej:

©

3i

(x); i = ¡1; 0; 1; : : : ; n; n + 1

s(x) =

n+1

X

i=¡1

c

i

©

3i

(x); a · x · b x

i

= x

0

+ ih; h = b ¡ a

n ; i = 0; 1; 2; : : : ; n

©

3i

(x) = 1 h

3

8 >

> >

> <

> >

> >

:

(x ¡ x

i¡2

)

3

x 2 [x

i¡2

; x

i¡1

)

h

3

+ 3h

2

(x ¡ x

i¡1

) + 3h(x ¡ x

i¡1

)

2

¡ 3(x ¡ x

i¡1

)

3

x 2 [x

i¡1

; x

i

) h

3

+ 3h

2

(x

i+1

¡ x) + 3h(x

i+1

¡ x)

2

¡ 3(x

i+1

¡ x)

3

x 2 [x

i

; x

i+1

)

(x

i+2

¡ x)

3

x 2 [x

i+1

; x

i+2

)

0 x = 2 [x

¡3

; x

n+3

]

(33)

33 Korzystając z warunku interpolacji można zapisać:

Jeśli rozważamy dodatkowo warunek z pierwszą pochodną to do powstałego układu równań należy dołączyć kolejne 2 równania:

Po wyeliminowaniu współczynników c-1 i cn+1 otrzymujemy układ równań:

c

i¡1

+ 4c

i

+ c

i+1

= y

i

; i = 0; 1; : : : ; n

¡c

¡1

+ c

1

= h

3 ®

1

¡c

n¡1

+ c

n+1

= h 3 ¯

1

2 6 6 6 6 6 6 6 4

4 2

1 4 1 0

1 4 .. .

0 1 4 1

2 4 3 7 7 7 7 7 7 7 5

¢ 2 6 6 6 6 6 6 6 6 4

c

0

c

1

.. . .. . c

n¡1

c

n

3 7 7 7 7 7 7 7 7 5

= 2 6 6 6 6 6 6 6 6 4

y

0

+

h3

®

1

y

1

.. . .. . y

n¡1

y

n

¡

h3

¯

1

3

7 7

7 7

7 7

7 7

5

(34)

34 Interpolacja w bazie

Interpolacja drugie pochodne

Cytaty

Powiązane dokumenty

Napisać procedurę do wyznaczania wartości drugich pochodnych w węzłach. Do procedury należy przekazać: a) wektor z położeniami węzłów xw, b) wektor z wartościami funkcjiyw,

W sprawozdaniu we wstępie proszę opisać podstawy metody, proszę określić jakość interpolacji (czy obserwujemy efekt Rungego? co się dzieje w pobliżu krańców

W celu wyznaczenia wartości drugich pochodnych trzeba skonstruować na podstawie od- ległości pomiędzy węzłami oraz wartości funkcji odpowiedni układ równań - tak jak po- kazano

Wywołanie procedury splint w Fortranie (wywoływana jest ona dla każdego xa dla którego chcemy znać wartość ya - pomiędzy węzłami interpolacji):1. call

Optymalny dobór węzłów interpolacji... Dziekuję za

2) Interpolacja funkcji, której przebieg znacznie różni się od przebiegu wielomianu interpolacyjnego, może nie dawać dobrych wyników przy dużej liczbie węzłów..

Dla każdego n sporządzić rysunek zawierający przebieg funkcji y(x) oraz obu wielomia- nów interpolacyjnych (węzły równomiernie i nierównomiernie rozłożone)3. Wykresy mają

Funkcję dzielimy na kawałki w ten sposób, że do kawałka należą dokładnie 2 punkty leżące na końcach przedziału.. Rozwiązując układ równań wyznaczy-