Download as pdf or txt
Download as pdf or txt
You are on page 1of 32

Algorytmy Analizy Numerycznej

Wykład 2
Interpolacja wielomianowa
Wzór interpolacyjny Lagrange'a.

1
2. Interpolacja wielomianowa
Interpolacja wielomianowa umożliwia wyznaczanie wzorów
służących do obliczania przybliżonych wartości funkcji w
dowolnym punkcie, przy założeniu,
że znane są wartości tej funkcji w skończonej liczbie
punktów.

2
Interpolacja wielomianowa -postawienie zagadnienia
Niech dane będą parami różne punkty ( x i , y i ) , i=0 , 1,…, n .
Zadanie interpolacji wielomianowej polega na wyznaczeniu
wielomianu p∈Pn , takiego, że
p( x i )= y i , i=0 , 1,…, n .
Mówimy, że wielomian p interpoluje wartości y i w

węzłach x i . Jeśli są to wartości pewnej funkcji f , to

mówimy, że p interpoluje f . Przypomnijmy, że Pn oznacza


zbiór wielomianów co najwyżej n -tego stopnia.
3
4
5
6
Twierdzenie 1 (o
(o jednoznaczności wielomianu
interpolacyjnego)
interpolacyjnego)

Jeżeli liczby(węzły) x 0 , x 1 ,…, x n są parami różne, to


istnieje dokładnie jeden wielomian p∈P n taki, że
p( x i )= y i , i=0 , 1 ,…, n .

7
Dowód twierdzenia o jednoznaczności.

Jednoznaczność
Przypuśćmy, że dwa wielomiany p i q spełniają
powyższe warunki. Wtedy różnica p−q znika(jest równa
0) w n+1 różnych punktach x .
i

Ponieważ jednak na podstawie Zasadniczego Twierdzenia


Algebry wielomian należący do P , nie znikający
n

tożsamościowo (nie będący funkcją stałą =0) ma co


najwyżej n zer, to p≡q .
8
Istnienie
Skonstruujmy wielomian interpolacyjny p za pomocą
następujących wielomianów li ( x ) o własnościach

{
li ( x j )=
1 , i= j
0 , i≠ j
Następujące wielomiany Lagrange'a spełniają powyższe
warunki
( x−x 0 )( x−x 1 )⋅…⋅( x−x i−1 )( x−x i+1 )⋅…⋅( x−x n )
li ( x )=
( x i−x 0 )( x i−x 1 )⋅…⋅( x i−x i−1 )( x i−x i+1 )⋅…⋅( x i−x n )

9
Rozwiązanie p(x) zadania interpolacyjnego może być teraz
dokładnie wyrażone w zależności od wielomianów li ( x ) :
n n
x−x j
p( x )=∑ y i li ( x ), li ( x )=∏ .
i=0 j=0 x i −x j
j≠i

Rzeczywiści ponieważ dla wielomianów Lagrange’a mamy

{
li ( x j )=
1 , i= j
0 , i≠ j
, to spełnione są warunki interpolacji

p( x i )= y i , i=0 , 1 ,…, n
c.n.d.
Otrzymany wzór to wzór na wielomian interpolacyjny
Lagrange’a
10
Ze względu na duży koszt obliczeń wielomian interpolacyjny
Lagrange’a nie znajduje zastosowania w praktyce.
Jego zaletą jest niezależność wielomianów li od rzędnych y i ,
co przydaje się, gdy dla ustalonych węzłów trzeba uwzględnić
różne układy wielkości y i , na przykład wynikające z
pomiarów. Jest wykorzystywany do konstrukcji kwadratur
interpolacyjnych. Bardziej użyteczne są metody opisane w
dalszej części wykładów.
Podsumowując:

11
Wielomian interpolacyjny Lagrange'a
Poszukujemy wielomianu p∈P n spełniającego warunki

p( x i )= y i i=0 , 1,…, n gdzie x i≠x j dla i≠ j .

Niech
( x−x 0 )( x−x 1 )⋅…⋅( x−x i−1 )( x−x i+1 )…( x−x n )
li ( x )=
( x i−x 0 )( x i−x 1 )⋅…⋅( x i−x i−1 )( x i−x i+1 )…( x i−x n )
Wtedy

{
li ( x j )=
1 , i= j
0 , i≠ j

12
Wielomian interpolacyjny Lagrange’a dany wzorem
n n
x−x j
p( x )=∑ y i li ( x ), li ( x )=∏
i=0 j=0 x i−x j
j≠i
jest
wielomianem stopnia ≤n , spełniającym warunki
interpolacji.
Wielomiany li to tak zwane wielomiany bazowe
(czynnikowe, podstawowe) Lagrange’a.

13
Ćwiczenie 1.
Znaleźć wielomian interpolacyjny Lagrange'a i obliczyć
wartość p ( 2 ) dla danych
xi 0 1 3
yi 1 3 2

n n
x−x j
p( x )=∑ y i li ( x ), li ( x )=∏
i=0 j=0 x i−x j
j≠i

14
( x−1)( x−3) ( x−1)( x−3)
l0 ( x )= = , x 0=0
( 0−1)(0−3 ) 3
( x−0)( x−3 ) x ( x−3)
l1 ( x )= = , x 1=1
(1−0)(1−3 ) −2
( x−0 )( x−1) x ( x−1)
l2 ( x )= = , x 2 =3
( 3−0 )(3−1) 6
1 1 1
p( x )=1⋅ ( x−1)( x−3 )+3⋅(− ) x ( x−3)+2⋅ x ( x−1)=
3 2 6
1 2 3 2 9 1 2 1 5 2 17
= ( x −4 x+3 )− x + x+ x − x=− x + x+1
3 2 2 3 3 6 6
−5⋅4 17⋅2 6 −20+34+6 10
p( 2)= + + = =
6 6 6 6 3

15
Zauważmy, że wielomian interpolacyjny Lagrange’a można
zapisać w postaci
n n
x−x j n ω( x )
p( x )=∑ y i ∏ =∑ y j
j=0 x i−x j
,
i=0 i=0 ( x−x )ω ( x )
i i
j≠i

gdzie
ω( x )=( x−x 0 )( x−x 1 )⋅…⋅( x−x n )

16
Błąd interpolacji wielomianowej
Twierdzenie 2.
Jeżeli f ∈C n+1
[ a , b ] , a wielomian p∈P n interpoluje
wartości funkcji f w n+1 różnych punktach x 0 , x 1 ,…, x n
przedziału [ a , b ] , to dla każdego x∈[ a , b ] istnieje takie
ξ x ∈( a , b ) , że
n
1
f ( ξ x ) ∏ ( x−x i ) .
n+1
R( x)=f ( x )− p( x )=
(n+1)! i=0

17
Wniosek.
Wniosek
Błąd wzoru interpolacyjnego można oszacować z
zależności
M n+1
|R( x)|=|f ( x )− p( x )|≤ |ωn ( x )| ,
( n+1)!
( n+1)
M n+1= sup |f ( x )| ,
x∈[ a ,b ]

ωn ( x )=( x−x 0 )( x−x 1 )⋅…⋅( x−x n ) .

18
Przykład 1.
Jaki jest błąd przybliżenia funkcji f ( x )=sin x
wielomianem interpolacyjnym stopnia n=9 w przedziale
[0, 1], do którego należą węzły interpolacji?
9

∏ |x−x |≤1 ,
(10)
|f ( ξ x )|≤1 , i
i=0

zatem
1 1
|sin x− p( x )|≤ ⋅1⋅1=
10 ! 10 !

19
Przykład 2.
Oblicz przybliżoną wartość liczby √ 122 interpolując
funkcję f ( x )=√ x w węzłach 100, 121, 144.
Podaj oszacowanie błędu.
xi 100 121 144
fi 10 11 12

( x−121)( x−144 ) ( x−121)( x−144 )


l0 ( x )= =
(100−121)(100−144 ) 21⋅44

20
( x−100 )( x−144 ) ( x−100 )( x−144 )
l1 ( x )= =−
(121−100 )(121−144 ) 21⋅23
( x−100 )( x−121) ( x−100)( x−121)
l2 ( x )= =
(144−100 )(144−121) 44⋅23
( x−121)( x−144 ) ( x−100 )( x−144 )
p( x )=10⋅ −11⋅
21⋅44 21⋅23
( x−121)( x−144 )
+12⋅
44⋅23
Stąd

10⋅(−22) 11⋅22⋅(−22) 12⋅(−22)


√ 122≈ p(122)= − + .
21⋅44 21⋅23 44⋅23

21
W naszym przypadku n=2.
M3
|R(122)|=|f (122)−p(122)|≤ |ω2 ( x )|
3!
gdzie
(3 )
M 3= sup |f ( x )| .
x∈[ 100,144 ]

Ponieważ

( ) ( )
−1 '' −3 '
1
(3) −1 3 1
(√x) = x 2
= = 5/2
x 2
2 4 8x
jest na przedziale [100,144] funkcją >0 i malejącą,to
3 1 x=100 3 1 3
M 3 = sup | 5/2| = 5/2
= .
x∈[ 100,144 ] 8 x 8 100 800000
22
ω2 ( x )=( x−x 0 )( x−x 1 )( x−x 2 ) .

ω2 (122)=(122−100)(122−121)(122−144 ) =−22⋅22=−484
Zatem
3 121
|R(122)|=|√ 122− p(122)|≤ |−484|=
3 !⋅800000 400000

23
Zbieżność wielomianów interpolacyjnych
Twierdzenie 3 (Faber)
Dla dowolnego ciągu układów węzłów a≤x 0 < x 1 <…< x n≤b
istnieje taka funkcja ciągła w [a, b] , że ciąg wielomianów
interpolacyjnych zbudowanych dla tych węzłów nie jest do
niej zbieżny.

Twierdzenie 4
Jeżeli
Je f jest funkcją ciągłą w [a, b] , to istnieje taki ciąg
układów węzłów a≤x 0 < x 1 <…< x n≤b , że zbudowane dla
nich wielomiany interpolacyjne tworzą
tworzą cią
ciąg zbież
zbieżny do f .

24
Przykład (Rungego) 1
Wyznaczyć wielomian interpolacyjny dla funkcji f ( x )= 1+ x 2
oparty na węzłach równoodległych z przedziału [−5,5 ] , krok
0.5.

25
26
Ciąg wielomianów {pn} jest zbieżny do funkcji f tylko
dla |x|<3 . 63 i rozbieżny dla pozostałych wartości x.
Lepszym rozwiązaniem okazuje się wielomian
interpolacyjny oparty na węzłach Czebyszewa (zerach
wielomianu Czebyszewa):

27
28
Twierdzenie o optymalnym doborze węzłów

Błąd interpolacji jest minimalny, gdy węzły interpolacji


są zadane jako węzły Czebyszewa na (a,b) i wynosi

( )
n+1
2 M n+1 b−a
|f ( x )− p( x )|≤ .
(n+1)! 4

29
Przykład 2.
Wykazać, że jeżeli funkcja g interpoluje funkcję f w
węzłach x , x , …, x , a funkcja h interpoluje f w
0 1 n−1

węzłach x , x , …, x , to funkcja
1 2 n

x 0−x
G( x )=g( x )+ [ g( x )−h( x )]
x n−x 0
interpoluje f we wszystkich węzłach x , x ,…, x .
0 1 n

30
Warunki interpolacji dla danych funkcji:
g: x 0 , x 1 , …, x n−1 g( x i )=f ( x i ) i=0 , 1,…, n−1
h: x 1 , x 2 , …, x n h( x i )=f ( x i ) i=1 , 2,…, n
G: x 0 , x 1 , …, x n G ( x i )=f ( x i ) i=0 , 1 , 2,…, n
Sprawdzamy warunki interpolacji dla nowej funkcji we
wszystkich węzłach x 0 , x 1 ,…, x n :

x 0−x 0
G( x 0 )=g( x 0 )+ [ g( x 0 )−h( x 0 )]=g( x 0 )=f ( x 0 )
x n−x 0

31
x 0−x n
G( x n )=g( x n )+ [ g( x n )−h( x n )]=h( x n )=f ( x n )
x n−x 0
x 0−x i
G( x i )=g( x i )+ [ g( x i )−h( x i )]
x n−x 0
x 0−x i
=f ( x i )+ [ f ( x i )−f ( x i )]=f ( x i )
x n −x 0
dla i=1,2,…, n-1.

32

You might also like