Seria 6

Transkrypt

Seria 6
Seria 6
Algorytm Neville’a
Wartość wielomianu interpolacyjnego p ∈ Pn spełniającego dla danej funkcji
f
warunki interpolacyjne
p ( xi ) = f ( xi ),
i = 0, 1 , K , n
w parami różnych węzłach xi można obliczyć wzorem Neville’a:
p j ,k ( x) =
( x − x j ) p j +1,k −1 ( x) − ( x − x j + k ) p j ,k −1 ( x)
x j +k − x j
gdzie
p j 0 ( x j ) = f ( x j ),
j = 0, 1 ,K, n − k ,
k = 1 ,2,K, n
oraz
p ( x ) = p 0,n ( x) .
Ponadto zauważmy, że:
p j ,k ( x ) = p j +1,k −1 ( x ) +
p j +1, k −1 ( x ) − p j ,k −1 ( x )
.
x j +k − x j
x − x j +k
Wyznaczenie p( x) wymaga obliczenia następującej tablicy wielomianów cząstkowych:
x0
p 00 ( x)
K
p 0 , n−1 ( x )
x1
p10 ( x)
K
p 0 ,n ( x )
M
M
xn −1
p n−1, 0 ( x )
xn
p n,0 ( x)
p 0 n ( x)
Algorytm:
WE: x[i], y[i], x, i=0,1,...n
for(int k=0, k<=n; k++)
{
p[k]=y[k];
for (int j=k-1; j>=0; j--)
p[j]=p[j+1]+(p[j+1]-p[j])*(x-x[k])/(x[k]-x[j]);
}
WY: p(x)=p[0]
1
Seria 6
Zadania
1. Przy pomocy algorytmu Neville’a obliczyć wartość wielomianu p(2) spełniającego
warunki: p(0) = 1 , p(1) = 3 , p(3) = 2 .
2. Przy pomocy algorytmu Neville’a obliczyć wartość wielomianu p(2) spełniającego
warunki: p(−2) = −13 , p(−1) = 3 , p(1) = 5 , p(3) = 7 .
3. Wyznaczyć wielomian interpolacyjny Hermite’a:
x
0
1
2
f (x)
1
─1
0
f ' ( x)
0
0
f '' ( x)
2
Powtórzenie
1.
Korzystając ze schematu Hornera obliczyć wartość wielomianu dla x=2, jeżeli
p( x) = x 5 − 2 x 4 − x + 2 .
2. Wyprowadź wzory i następnie napisz w C++ funkcję wyznaczającą współczynniki
n +1
wielomianu
w( x ) = ∑ bi x n −i będącego iloczynem wielomianu
w( x ) =
i =0
n
∑a x
i
n −i
przez
i =0
dwumian cx + d .
3. Korzystając ze wzoru interpolacyjnego Lagrange’a wyznaczyć wielomian interpolacyjny
dla danych
x
0
1
3
f (x )
─1
2
4
Obliczyć przybliżoną wartość funkcji f dla x = 2 .
4. Pokazać, że jeżeli q(x) interpoluje funkcję f w punktach x1 , x 2 ,..., x n oraz p (x )
interpoluje funkcję f w punktach x0 , x1 ,..., x n−1 , to funkcja q( x) +
x − xn
(q( x) − p( x))
x n − x0
interpoluje f w punktach x0 , x1 ,..., x n
5. Korzystając z interpolacji oblicz sumę S ( p ) = 1 + 3 + 5 + ... + (2 p − 1)
6. Obliczyć przybliżoną wartość
x0 = 1 , x1 =
2 interpolując funkcję f ( x ) = 4 x − 3 na węzłach
7
, x2 = 3 . Wielomian interpolacyjny skonstruować korzystając ze wzoru
4
Lagrange’a oraz wzoru Newtona. Oszacować błąd przybliżenia.
2