Interpolacja Lagrange`a Wyznaczyć wielomian interpolacyjny mając

Transkrypt

Interpolacja Lagrange`a Wyznaczyć wielomian interpolacyjny mając
Interpolacja Lagrange’a
Wyznaczyć wielomian interpolacyjny mając dane węzły
(−2, −3), (−1, 3), (1, 3), (2, 3)
W przypadku ogólnym mając dane n + 1 punktów węzłowych (xi , fi ) i = 0, . . . , n
szukany wielomian interpolacyjny jest postaci
w(x) =
n
X
fi Li (x) gdzie Li (x) =
i=0
n
Y
j=0, j6=i
x − xj
xi − xj
W naszym przypadku mamy
x0 = −2, x1 = −1, x2 = 1, x3 = 2
f0 = −3, f1 = 3, f2 = 3, f3 = 3
Obliczymy najpierw wielomiany Li , i = 0, 1, 2, 3
L0 (x) =
(x − x1 )(x − x2 )(x − x3 )
(x + 1)(x − 1)(x − 2)
1
=
= − (x3 −2x2 −x+1)
(x0 − x1 )(x0 − x2 )(x0 − x3 )
−12
12
L1 (x) =
(x − x0 )(x − x2 )(x − x3 )
(x + 2)(x − 1)(x − 2)
1
=
= (x3 − x2 − 4x + 4)
(x1 − x0 )(x1 − x2 )(x1 − x3 )
6
6
L2 (x) =
(x − x0 )(x − x1 )(x − x3 )
(x + 2)(x + 1)(x − 2)
1
=
= − (x3 −x2 −4x−4)
(x2 − x0 )(x2 − x1 )(x2 − x3 )
−6
6
L3 (x) =
(x − x0 )(x − x1 )(x − x2 )
(x + 2)(x + 1)(x − 1)
1
=
= (x3 + 2x2 − x − 2)
(x3 − x0 )(x3 − x1 )(x3 − x2 )
12
12
Zatem szukany wielomian ma postać
1
1
w(x) = x3 − x2 − x + 4
2
2
Znaleźć wielomian interpolacyjny mając dane węzły
(−1, −4), (0, −1), (1, 0), (2, 5)
Skorzystamy z metody wykorzystującej tzw. ilorazy różnicowe.
Ilorazem różnicowym rzędu zerowego opartym na węźle (xi , fi ) nazywamy liczbę fi
Ilorazem różnicowym rzędu k opartym na węzłach (xi0 , fi0 ), . . . , (xik , fik ) nazywamy
liczbę
fi i ...i − fi0 i1 ...ik−1
fi0 i1 ...ik = 1 2 k
xik − xi0
Wówczas w ogólnym przypadku mając zadane węzły (xi , fi ), i = 0, . . . , n wielomian
interpolacyjny w(x) ma postać Newtona
w(x) = f0 + f01 (x − x0 ) + f012 (x − x0 )(x − x1 ) + . . . + f01...n (x − x0 ) . . . (x − xn−1 )
W naszym przypadku mamy n = 3 oraz
x0 = −1, x1 = 0, x2 = 1, x3 = 2
f0 = −4, f1 = −1, f2 = 0, f3 = 5
Obliczmy najpierw współczynniki f01 , f12 , f23 , f012 , f123 , f0123
f01 =
f1 − f0
f2 − f1
f3 − f2
=3
f12 =
=1
f23 =
=5
x1 − x0
x2 − x1
x3 − x2
f12 − f01
f23 − f12
f012 =
= −1
f123 =
=2
x2 − x0
x3 − x1
f123 − f012
f0123 =
=1
x3 − x0
Wobec tego szukany wielomian interpolacyjny w(x) ma postać
w(x) = −4 + 3(x + 1) − x(x + 1) + x(x + 1)(x − 1) = x3 − x2 + x − 1
Znaleźć wielomian interpolacyjny mając dane węzły:
(0, 1), (1, 2), (2, 4)
Ponieważ punkty x0 , x1 , x2 są równoodległe użyjemy metody wykorzystującej ten
fakt.
Mając dane węzły (xi , fi ), i = 0, . . . , n istnieje takie h ∈ R, że xi = x0 + ih dla
i = 1, . . . , n. Przedstawiając x = x0 + th dla pewnego t ∈ R otrzymujemy wielomian
interpolacyjny w postaci Newtona
w(x) = w(x0 + th) =
n
X
∆k f (x0 )
k=0
k!
· pk (t)
k
gdzie ∆ f (x0 ) jest funkcją (zwaną różnicą progresywną) określoną wzorami
∆0 f (x0 ) = f (x0 )
∆k+1 = ∆k f (x0 + h) − ∆k f (x0 )
natomiast pk (t), są wielomianami zdefiniowanymi w następujący sposób
p0 (t) = 1
pk (t) = t(t − 1) . . . (t − (k − 1)) =
k−1
Y
(t − j)
j=0
W naszym zadaniu mamy x0 = 0, h = 1, n + 2. Obliczymy najpierw kolejne różnice
progresywne
∆0 f (x0 ) = f (x0 ) = 1
∆1 f (x0 ) = ∆0 f (x0 + h) − ∆0 f (x0 ) = f (x1 ) − f (x0 ) = 1
∆2 f (x0 ) = ∆1 f (x0 + h) − ∆1 f (x0 ) = ∆0 f (x0 + 2h) − ∆0 f (x0 + h) − 1 = 1
Zatem szukany wielomian ma postać
1
1
1
w(x0 + th) = 1 + t + t(t − 1) = t2 + t + 1
2
2
2
x − x0
=x
x = x0 + th ⇒ t =
h
Ostatecznie zatem
1
1
w(x) = x2 + x + 1
2
2
Znaleźć wielomian interpolacyjny mając dane punkty węzłowe
(0, 1), (1, 1), (2, 5), (3, 21)
Mamy x0 = 0, h = 1, n = 3 oraz
∆0 f (x0 ) = f (x0 ) = 1
∆1 f (x0 ) = ∆0 f (x0 + h) − ∆0 f (x0 ) = f (x1 ) − f (x0 ) = 0
∆2 f (x0 ) = ∆1 f (x0 + h) − ∆1 f (x0 ) = ∆0 f (x0 + 2h) − ∆0 f (x0 + h) = 4
∆3 f (x0 ) = ∆2 f (x0 + h) − ∆2 f (x0 ) = ∆1 f (x0 + 2h) − ∆1 f (x0 + h) − 4 =
= ∆0 f (x0 + 3h) − 2∆0 f (x0 + 2h) + ∆0 f (x0 + h) − 4 = 8
Zatem wilomian interpolacyjny ma postać
4
2
w(x0 + th) = t3 − 2t2 + t + 1 ⇒
3
3
4
2
w(x) = x3 − 2x2 + x + 1
3
3
GRZEGORZ GIERLASIŃSKI