W x

Transkrypt

W x
INTERPOLACJA
Definicja interpolacji
Definicja interpolacji
3
Definicja interpolacji
Dana jest funkcja
y = f (x), x[x0, xn].
Wyznaczamy funkcję W(x)
spełniającą warunki:
Znamy tablice wartości
tej funkcji, czyli:
f ( x0 )  y0
f ( x1 )  y1
W ( x0 )  y0
W ( x1 )  y1
f ( xi )  yi
W ( xi )  yi
f ( xn )  yn
W ( xn )  yn
4
Definicja interpolacji
Wyznaczenie funkcji W(x)
Dobór w postaci kombinacji liniowej n + 1 funkcji bazowych
Funkcje bazowe:
0(x), 1(x), 2(x), ..., i(x), ..., n(x)
Wielomian uogólniony:
n
W ( x)   ai i ( x)
i 0
ai - współczynniki
5
Definicja interpolacji
Wprowadzając:
Macierz bazową:
Φ  0 ( x), 1 ( x), 2 ( x),..., n ( x) 
T
Macierz współczynników: A   a0 , a1 , a2 ,..., an 
Wielomian uogólniony można zapisać w postaci:
W ( x)  Φ( x)  A
6
Definicja interpolacji
Warunek, który musi spełnić wielomian interpolacyjny, czyli:
W ( xi )  yi
i  0,1,2,..., n
Można zapisać w postaci macierzowej:
X A  Y
gdzie:
A – macierz kolumnowa współczynników o (n + 1) wierszach
Y – macierz kolumnowa wartości funkcji o (n + 1) wierszach
X – macierz o wymiarach (n + 1)  (n + 1)
7
Definicja interpolacji
Postać macierzy X i Y:
 0 ( x0 ) 1 ( x0 )
 (x )  (x )
1 1
X 0 1
...
 ...

0 ( xn ) 1 ( xn )
... n ( x0 ) 
... n ( x1 ) 

...
... 

... n ( xn ) 
 y0 
y 
Y   1
 
 
 yn 
8
Definicja interpolacji
Jeżeli det X 0
to:
A  X1Y
Podstawiając powyższy wzór do W ( x)  Φ( x)  A otrzymuje się:
Wielomian interpolacyjny:
W ( x)  Φ( x)  X1  Y
gdzie:
(x) – macierz bazowa
X1 – macierz interpolacyjna
Y
– wektor wartości funkcji w węzłach
9
Interpolacja wielomianowa
(wielomiany w postaci naturalnej)
Interpolacja wielomianowa
Baza:
0 ( x)  1, 1 ( x)  x, 2 ( x)  x 2 , ..., n ( x)  x n
Postać wielomianu interpolacyjnego:
W ( x)  a0  a1 x  a2 x 2  ...  an x n
11
Interpolacja wielomianowa
Przy spełnionym warunku:
a0  a1 x0  a2 x02  ...  an x0n  y0
a0  a1 x1  a2 x12  ...  an x1n  y1
a0  a1 xn  a2 xn2  ...  an xnn  yn
Ten układ równań, jeżeli wartości x0, x1, ..., xn są miedzy sobą
różne posiada jedno rozwiązanie względem ai.
Wynika to stąd, że wyznacznik macierzy X:
1
1
det X 
...
1
x0
x1
...
xn
...
...
...
...
x0n
x1n
  ( xi  x j )  0
... i  j
xnn
12
Interpolacja wielomianowa
Wady:
•
Interpolacja wielomianowa nie jest zbyt efektywna,
ponieważ macierz X jest macierzą pełną
– błędy przy odwracaniu (oraz czas odwracania)
•
Macierz X nie zawsze jest dobrze uwarunkowana
– może być osobliwa
13
Interpolacja wielomianowa
Przykład
Dla podanych węzłów zapisz:
•
macierze układu równań, z których wyznacza się
współczynniki
wielomianu
interpolacyjnego
dla
interpolacji wielomianowej
•
wielomian interpolacyjny
Węzły:
(1,3) (2,5) (4,7)
( x0 , y0 ) ( x1 , y1 ) ( x2 , y2 )
14
Interpolacja wielomianowa
 x00
 0
 x1
 x20

 10

0
(

2)

 40

x01
x11
x12
x02   a0   y0 

x12    a1    y1 
   
2
x2   a2   y2 
11
12   a0   3 

(2)1 (2) 2    a1   5 
   
1
2
4
4   a2  7 
1 1 1   a0   3 
1 2 4    a    5 

  1  
1 4 16   a2  7 
X
A
Y
15
Interpolacja wielomianowa
det X  54  0
Korzystając z:
jest jedno rozwiązanie
A  X1  Y
otrzymujemy:
1
1
a0  3, a1   , a2 
3
3
Wielomian interpolacyjny:
W ( x)  a0  a1 x  a2 x 2
1
1 2
W ( x)  3  x  x
3
3
16
Interpolacja Lagrange’a
Interpolacja Lagrange’a
Baza:
0 ( x)  ( x  x1 )( x  x2 )( x  x3 )......................( x  xn )
1 ( x)  ( x  x0 )( x  x2 )( x  x3 )......................( x  xn )
....................................................................................
i ( x)  ( x  x0 )( x  x1 )...( x  xi 1 )( x  xi 1 )...( x  xn )
...................................................................................
n ( x)  ( x  x0 )( x  x1 )( x  x2 )....................( x  xn1 )
 dla każdej i(x), i = 0, 1, ..., n brakuje składnika (xxi)
18
Interpolacja Lagrange’a
Postać wielomianu interpolacyjnego:
W ( x)  a0 0 ( x)  a11 ( x)  ...  an n ( x) 
 a0 ( x  x1 )( x  x2 )...( x  xn ) 
 a1 ( x  x0 )( x  x2 )...( x  xn )  ... 
 an ( x  x0 )( x  x1 )...( x  xn 1 )
19
Interpolacja Lagrange’a
Macierz X:
0 ( x0 )
0

X  0


0
0
0
1 ( x1 ) 0
0
2 ( x2 )
0
0






n ( xn ) 
0
0
0
 w punkcie x = xi wszystkie funkcje oprócz i(x) zerują się,
bo występuje w nich składnik (x  xi)
20
Interpolacja Lagrange’a
Współczynniki wielomianu Lagrange’a wyznacza się ze wzoru:
X A  Y
Ponieważ macierz X ma tylko główną przekątną niezerową to:
y0
a0 
( x0  x1 )( x0  x2 )
a1 
y1
( x1  x0 )( x1  x2 )
yn
an 
( xn  x0 )( xn  x1 )
y0

( x0  xn ) 0 ( x0 )
( x1  xn )

y1
1 ( x1 )
yn

( xn  xn 1 ) n ( xn )
21
Interpolacja Lagrange’a
Czyli wielomian interpolacyjny możemy zapisać jako:
i ( x)
W ( x)   yi
i ( xi )
i 0
n
lub:
 (x  x )
W ( x)   y
,
 (x  x )
n
i 0
j
j i
i
j i
i
j  0,1,..., n
j
22
Interpolacja Lagrange’a
Przykład
Dla podanych węzłów zapisać wielomian interpolacyjny
Lagrange’a.
Węzły:
(1,3) (2,5) (4,7)
( x0 , y0 ) ( x1 , y1 ) ( x2 , y2 )
23
Interpolacja Lagrange’a
W ( x)  y0
( x  x0 )( x  x2 )
( x  x0 )( x  x1 )
( x  x1 )( x  x2 )
 y1
 y2
( x0  x1 )( x0  x2 )
( x1  x0 )( x1  x2 )
( x2  x0 )( x2  x1 )
W ( x)  3
( x  2)( x  4)
( x  1)( x  4)
( x  1)( x  2)
5
7
(1  2)(1  4)
(2  1)(2  4)
(4  1)(4  2)
 Liczniki ułamków to funkcje bazowe, reszta to
współczynniki wielomianu interpolacyjnego
24
Różnice skończone
Różnice skończone
Dla funkcji stabelaryzowanej przy stałym kroku h = xi+1 – xi
wprowadza się pojęcie różnicy skończonej rzędu k
yi  yi 1  yi
 2 yi    yi   yi 1  yi  yi  2  2 yi 1  yi
 yi    
k
k 1
yi   
k 1
yi 1  
k 1
yi   (1) j  kj  yi  k 1
k
j 0
26
Różnice skończone
Na podstawie zbioru wartości funkcji yi = f(xi), xi+1– xi = h = const
buduje się tablicę różnic skończonych
x
y
2
3
x0
x1
x2
x3
y0
y1
y2
y3



n



xn



yn
nr
0
1
y
y0
2y
2y0
3y
3y0
y1
y2

2y1



2yn2





yn1
3yn3
27
Różnice skończone
Przykład
Dla podanych węzłów zbudować tablicę różnic skończonych
Węzły:
(0.2, 0.259) (0.4, 0.364) (0.6, 0.448)
( x0 , y0 )
( x1 , y1 )
( x2 , y2 )
(0.8, 0.517)
( x3 , y3 )
(1, 0.577)
( x4 , y4 )
(1.2, 0.631)
( x5 , y5 )
28
Różnice skończone
y
2y
3y
4y
5y
0
0.003
nr
x
y
0
0.2
0.259
0.105 0.021 0.006
1
0.4
0.364
0.084 0.015 0.006 0.003
2
0.6
0.448
0.069 0.009 0.003
3
0.8
0.517
0.06 0.006
4
1.0
0.577
0.054
5
1.2
0.631
29
Różnice skończone
Własności różnic skończonych (wynikające z definicji):
yC
 y  0
y  Cf ( x)
 y  C f ( x)
y   f k ( x)
 y  C f k ( x)
yx
 y  ( x  h) n  x n  nhx n 1  ...  h n
y  a0  a1 x  ...  an x n
 y  b0  b1 x  ...  bn 1 x n 1
k
n
30
Różnice skończone
Twierdzenie (wynikające z ostatniej własności):
Jeżeli f(x) jest wielomianem stopnia n, to różnica skończona
rzędu n tej funkcji jest stała, a kolejne zerami.
Prawdziwe jest również twierdzenie odwrotne.
31
Wzory interpolacyjne dla
argumentów równoodległych
Wzory interpolacyjne dla argumentów równoodległych
Dla zbioru węzłów:
x0 , x1  x0  h, x2  x0  2h, ..., xn  x0  nh
dane są wartości funkcji:
f ( x0 ),
f ( x1 ),
f ( x2 ), ...,
f ( xn )
33
Wzory interpolacyjne dla argumentów równoodległych
Wielomian interpolacyjny:
W ( x)  a0  a1q  a2 q (q  1)  a3q (q  1)(q  2)  ... 
 an q(q  1)(q  2)...(q  n  1)
x  x0
q
h
Dla:
x  x0 : q  0
x  x1 : q  1
x  x2 : q  2
x  xn : q  n
34
Wzory interpolacyjne dla argumentów równoodległych
Funkcje bazowe:
0 ( x )  1
1 ( x)  q
2 ( x)  q (q  1)
3 ( x)  q (q  1)(q  2)
n ( x)  q (q  1)(q  2)(q  3)
(q  n  1)
35
Wzory interpolacyjne dla argumentów równoodległych
Postać układu równań, z którego wyznacza się współczynniki:
1
1

1

1


1
0
1
2
3
0
0
2
6
0
0
0
6
n n(n  1) n(n  1)(n  2)
0   a0   y0 
0   a1   y1 
   
0   a2   y2 
 a    y 
0 3  3
   
   
n !  an   yn 
36
Wzory interpolacyjne dla argumentów równoodległych
a0  y0
a0  a1  y1
 a1  y0
 2 y0
 a2 
2!
 3 y0
 a3 
3!
a0  2a1  2a2  y2
a0  3a1  6a2  6a3  y3
a0  na1  n(n  1)a2 
 n ! an  y n
 n y0
 an 
n!
37
Wzory interpolacyjne dla argumentów równoodległych
I. Wzór interpolacyjny Newtona
W ( x)  y0  qy0 
q(q  1) 2
q(q  1)...(q  n  1) n
 y0  ... 
 y0
2!
n!
38
Wzory interpolacyjne dla argumentów równoodległych
Przykład
Znaleźć wielomian interpolacyjny stopnia 3. dla danych z
poprzedniego przykładu (różnice skończone).
Wykorzystujemy tablicę różnic skończonych zbudowaną
w poprzednim przykładzie
x0  0.2
q
x  x0 x  0.2

 5x  1
h
0.2
39
Wzory interpolacyjne dla argumentów równoodległych
q(q  1) 2
q(q  1)(q  2) 3
W ( x)  y0  qy0 
 y0 
 y0
2!
3!
(5 x  1)(5 x  2)
W ( x)  0.259  (5 x  1)  0.105 
 (0.021) 
2
(5 x  1)(5 x  2)(5 x  3)

 0.006
6
W ( x)  0.125 x3  0.412 x 2  0.7375x  0.127
40
Wzory interpolacyjne dla argumentów równoodległych
Przykład
Oblicz wartość funkcji w punkcie pośrednim tabeli (tablicy
różnic skończonych z poprzednich przykładów) dla x = 0.7
z dokładnością do 2
Przyjmujemy:
x0  0.6
q
x  x0 0.7  0.6

 0.5
h
0.2
41
Wzory interpolacyjne dla argumentów równoodległych
W ( x)  y0  qy0 
q(q  1) 2
 y0
2!
0.5  (0.5)
W ( x)  0.448  0.5  0.069 
 (0.009)  0.483625
2

Zadanie nie jest wykonywalne np. dla x = 1.1
– „brakuje” różnic skończonych
42
Wzory interpolacyjne dla argumentów równoodległych
I. wzór interpolacyjny Newtona – interpolacja w przód
II. wzór interpolacyjny Newtona – interpolacji wstecz
43
Wzory interpolacyjne dla argumentów równoodległych
Wielomian interpolacyjny:
W ( x)  a0  a1q  a2 q(q  1)  a3q(q  1)(q  2)  ... 
an q(q  1)(q  2)...(q  n  1)
x  xn
q
h
Współczynniki wielomianu a0,..., an wyznaczane są identycznie
44
Wzory interpolacyjne dla argumentów równoodległych
II. Wzór interpolacyjny Newtona
W ( x)  yn  qyn 1 
q(q  1) 2
q(q  1)...(q  n  1) n
 yn 2  ... 
 y0
2!
n!
45
Wzory interpolacyjne dla argumentów równoodległych
Przykład
Oblicz wartość funkcji w punkcie pośrednim tabeli (tablicy
różnic skończonych z poprzednich przykładów) dla x = 1.1
z dokładnością do 2
Przyjmujemy:
xn  1.2
q
x  xn 1.1  1.2

 0.5
h
0.2
46
Wzory interpolacyjne dla argumentów równoodległych
W ( x)  yn  qyn 1 
q(q  1) 2
 yn  2
2!
(0.5)  0.5
W ( x)  0.631  (0.5)  0.054 
 (0.006)  0.60475
2
47