• Nie Znaleziono Wyników

1Wstęp Interpolacja

N/A
N/A
Protected

Academic year: 2021

Share "1Wstęp Interpolacja"

Copied!
14
0
0

Pełen tekst

(1)

Interpolacja

Marcin Orchel

1 Wstęp

Mamy daną funkcję φ (x; a 0 , . . . , a n ) zależną od n + 1 parametrów a 0 , . . . , a n . Zadanie interpolacji funkcji φ polega na określeniu parametrów a i tak aby dla n + 1 danych par (x i , f i ) dla i = 0, 1, . . . , n liczb rzeczywistych lub zespolonych (x i 6= x k dla i 6= k) zachodziło φ(x i ; a 0 , . . . , a n ) = f i dla i = 0, . . . , n. Pary (x i , f i ) nazywamy punktami węzłowymi, a x i nazywamy węzłem.

Zadanie interpolacji liniowej, gdy φ zależy liniowo od parametrów a i

φ (x; a 0 , . . . , a n ) ≡ a 0 φ 0 (x) + a 1 φ 1 (x) + . . . + a n φ n (x) (1) Przypadek szczególny interpolacja wielomianowa, gdy

φ (x; a 0 , . . . , a n ) ≡ a 0 + a 1 x + a 2 x 2 + . . . + a n x n (2) Drugi przypadek szczególny to interpolacja trygonometryczna

φ (x; a 0 , . . . , a n ) ≡ a 0 + a 1 e xi + a 2 e 2xi + . . . + a n e nxi (3) Przykład interpolacji nieliniowej, interpolacja funkcjami wymiernymi

φ (x; a 0 , . . . , a n , b 0 , . . . , b m ) ≡ a 0 + a 1 x + . . . + a n x n

b 0 + b 1 x + . . . + b m x m (4) Inny przykład interpolacji nieliniowej to interpolacja wielomianami wykładniczymi

φ (x; a 0 , . . . , a n , λ 0 , . . . , λ n ) ≡ a 0 e λ

0

x + a 1 e λ

1

x + . . . + a n e λ

n

x (5)

Mamy dany zbiór punktów na płaszczyźnie, interpolacja polega na znalezieniu funk-

cji, która przechodzi przez zadane punkty. Zamiast zbioru punktów na płaszczyźnie może

być dana skomplikowana funkcja. Wtedy interpolacja polega na wyborze określonej licz-

by punktów tej funkcji i znalezieniu prostszej funkcji interpolującej przechodzącej przez

te punkty.

(2)

1.1 Interpolacja wielomianowa

Znajdujemy wielomian stopnia maksymalnie n−1, gdzie n to liczba punktów, taki, który przechodzi przez punkty węzłowe. Stopień wielomianu jest maksymalnie równy n − 1, a więc może być mniejszy w przypadku szczególnego ułożenia punktów, np. w przypadku 3 punktów stopień może być równy 1, jeśli wszystkie 3 punkty są współliniowe.

Przykład interpolacja liniowa: Dane dwa punkty A i B, A (x 0 , y 0 ), B (x 1 , y 1 ). Wielo- mian stopnia pierwszego przechodzący przez te punkty: W (x) = ax + b. Zadanie polega na znalezieniu wartości współczynników a i b. Jako, że wielomian powinien przechodzić przez punkty A i B otrzymujemy następujący układ równań:

y 0 = ax 0 + b (6)

y 1 = ax 1 + b (7)

Rozwiązanie to:

a = y 1 − y 0

x 1 − x 0 (8)

b = y 0 x 1 − y 1 x 0

x 1 − x 0 (9)

A więc wielomian interpolujący to

W (x) = y 1 − y 0

x 1 − x 0 x + y 0 x 1 − y 1 x 0

x 1 − x 0 (10)

Możemy to zapisać jako

= y 1 − y 0

x 1 − x 0 x + y 0 (x 1 − x 0 ) − x 0 y 1 + x 0 y 0

x 1 − x 0 = y 0 + (x − x 0 ) y 1 − y 0

x 1 − x 0 = (11) y 0



1 − x − x 0 x 1 − x 0

 + y 1

 x − x 0 x 1 − x 0



= y 0



1 − x − x 0 x 1 − x 0

 + y 1



1 − x 1 − x x 1 − x 0



(12) Zauważmy, że jest to średnia ważona, wyrażenia w nawiasach sumują się do 1. Wagami są odległości odciętej x od odciętej x 0 w stosunku do odległości między odciętymi x 0 i x 1 odjęta od 1, oraz podobnie druga waga to odległość odciętej x od x 1 w stosunku do odległości między odciętymi x 0 i x 1 odjęta od 1. Zauważmy, że gdy x jest bliższe x 0 , to wtedy waga przy y 0 jest większa.

Możemy także zapisać powyższe jako y 0

 x 1 − x x 1 − x 0

 + y 1

 x − x 0 x 1 − x 0



(13) Możemy oznaczyć drugi ułamek jako t i otrzymujemy

y 0 (1 − t) + y 1 t (14)

Zauważmy, że

x = (x 1 − x 0 ) t + x 0 (15)

(3)

Interpolacja liniowa polega na tym, że szukamy funkcji liniowej przechodzącej przez dwa punkty. Jesli mamy dwa punkty w większej liczbie wymiarów, możemy również znaleźć linię przechodzącą przez te punkty. Możemy ją znaleźć następująco. Linia prosta przechodząca przez punkt R 1 w kierunku ~a może być zapisana jako

R = R 1 + t~a (16)

gdzie R jest punktem, który należy do tej linii. Jest to postać parametryczna. Jeśli mamy drugi punkt R 2 to możemy wyznaczyć ~a jako

~a = R 2 − R 1 (17)

Równanie możemy zapisać wtedy w postaci

R = R 1 + t (R 2 − R 1 ) (18)

R = (1 − t) R 1 + tR 2 (19)

Jest to równanie w postaci parametrycznej linii przechodzącej przez punkty R 1 i R 2 , a więc jest to wielomian interpolujący W (t) w postaci parametrycznej.

Uogólniając na n punktów, możemy za pomocą układu równań liniowych wyznaczyć współczynniki wielomianu w postaci ogólnej

W (x) = a n x n + a n−1 x n−1 + . . . + a 0 . (20) Twierdzenie 1. Dla dowolnych n + 1 punktów węzłowych (x i , f i ) dla i = 0, . . . , n, x i 6= x k dla i 6= k istnieje dokładnie jeden wielomian P ∈ Π n taki, że W (x i ) = f i dla i = 0, . . . , n.

Zbiór Π n oznacza zbiór wszystkich rzeczywistych lub zespolonych wielomianów P stopnia ≤ n.

1.1.1 Wzór interpolacyjny Newtona

Dane dwa punkty A (x 0 , y 0 ) i B (x 1 , y 1 ). Przykład wielomianu liniowego. Postać ogólna wielomianu liniowego:

W (x) = a 1 x + a 0 (21)

Wielomian Newtona

W (x) = a 0 1 x + a 0 0 − a 0 1 x 0 = a 0 0 + a 0 1 (x − x 0 ) (22) Zauważmy, że możemy dobrać

a 0 0 = a 0 + a 1 x 0 (23)

a 0 1 = a 1 (24)

i otrzymamy postać ogólną. Jak znaleźć wielomian Newtona? Konieczne jest znalezienie współczynników a 0 0 oraz a 0 1 .

W (x 0 ) = y 0 (25)

(4)

a 0 0 = y 0 (26)

W (x 1 ) = y 1 (27)

a 0 0 + a 0 1 (x 1 − x 0 ) = y 1 (28) a 0 1 = y 1 − a 0 0

x 1 − x 0 = y 1 − y 0

x 1 − x 0 (29)

Jeśli chcemy uzyskać postać ogólną, to musimy skorzystać ze wzoru (23) i (24), aby obliczyć a 0 i a 1 , lub z (22).

Dla wielomianu n-tego stopnia. Dane n + 1 punktów: (x 0 , y 0 ) , (x 1 , y 1 ) . . . (x n , y n ).

Postać Newtona wygląda następująco:

W (x) = a 0 0 + a 0 1 (x − x 0 ) + a 0 2 (x − x 0 ) (x − x 1 ) + . . . + a 0 n (x − x 0 ) (x − x 1 ) . . . (x − x n−1 ) (30) lub

W (x) =

n

X

i=0

a 0 i

i−1

Y

j=0

x − x j . (31)

Wartość tego wielomianu dla x = ξ możemy wyznaczyć ze schematu Hornera

W (ξ) = . . . a 0 n (ξ − x n−1 ) + a 0 n−1  (ξ − x n−2 ) + . . . + a 0 1  (ξ − x 0 ) + a 0 0 (32) Podstawiając do (30) dane punkty otrzymujemy następujący układ równań:

y 0 = W (x 0 ) = a 0 0 (33)

y 1 = W (x 1 ) = a 0 0 + a 0 1 (x 1 − x 0 ) (34) y 2 = W (x 2 ) = a 0 0 + a 0 1 (x 2 − x 0 ) + a 0 2 (x 2 − x 0 ) (x 2 − x 1 ) (35)

. . . (36)

Z powyższego układu łatwo wyznaczymy współczynniki wielomianu Newtona,

a 0 0 = y 0 (37)

a 0 1 = y 1 − y 0

x 1 − x 0 (38)

. . . (39)

Jak otrzymać współczynniki postaci ogólnej? Jeśli sprowadzimy wzór (30) do postaci ogólnej wyrażenia przy kolejnych potęgach zmiennej x będą szukanymi współczynnikami:

a 0 = a 0 0 − a 0 1 x 0 + a 0 2 x 0 x 1 − a 0 3 x 0 x 1 x 2 + . . . ± a n x 0 x 1 x 2 . . . x n−1 (40)

a 1 = . . . (41)

Możemy zdefiniować wielomian obcięty:

Q k (x) :≡ a 0 0 + a 0 1 (x − x 0 ) + . . . + a 0 k (x − x 0 ) . . . (x − x k−1 ) (42)

(5)

dla k = 0, 1, . . . , n. Zdefiniujmy również W 01...k (x) jako

W 01...k (x) ∈ Π k (43)

taki, że

W 01...k (x i ) = f i (44)

dla i = 0, 1 . . . , k dla punktów węzłowych (x i , f i ).

Zachodzą 1.

Q k (x) ≡ W 01...k (x) (45)

Wynika, to z tego, że wielomian obcięty Q k (x) jest tak naprawdę wielomianem w postaci Newtona, oraz z tego, że wielomian w postaci Newtona ma tak dobrane współczynniki aby przechodził przez punkty węzłowe oraz z unikalności wielomianu danego stopnia.

2.

W 01...k+1 (x) ≡ W 01...k (x) + a 0 k+1 (x − x 0 ) . . . (x − x k ) (46) Dodanie nowego punktu węzłowego sprowadza się do obliczenia jednego dodatko- wego współczynnika.

3. a 0 k jest współczynnikiem przy x k w wielomianie W 01...k (x).

Przykład 1. Przykład: znaleźć wielomian stopnia co najwyżej trzeciego, który w punk- tach -1, 1, 3, 5 przyjmuje odpowiednio wartości 3, -1, 19, 111. Odpowiedź: x 3 − 3x + 1.

Wielomian interpolacyjny Newtona:

3 + (−2) (x + 1) + 3 (x + 1) (x − 1) + 1 (x + 1) (x − 1) (x − 3) . (47) Uogólnijmy definicję W 01...k (x) na wielomian W i

0

i

1

...i

k

(x), który jest zdefiniowany jako wielomian, dla którego zachodzi

W i

0

i

1

...i

k

 x i

j



= f i

j

(48)

dla j = 0, 1, . . . , k dla punktów węzłowych (x i , f i ). Inny sposób wyznaczania współczyn- ników. Można zauważyć, że współczynniki a 0 k zależą tylko od punktów i = 0 do i = k.

Współczynniki a 0 i wyznaczamy za pomocą ilorazów różnicowych zdefiniowanych jako

f [x i ] := y i (49)

f [x i , x i+1 , . . . , x i+j ] := f [x i+1 , x i+2 , . . . , x i+j ] − f [x i , x i+1 , . . . , x i+j−1 ]

x i+j − x i (50)

f [x i , x i+1 , . . . , x i+j ] nazywamy j-tym ilorazem różnicowym. Przykładowo f [x 0 , x 1 ] = f [x 1 ] − f [x 0 ]

x 1 − x 0 (51)

(6)

f [x 1 , x 2 ] = f [x 2 ] − f [x 1 ]

x 2 − x 1 (52)

f [x 0 , x 1 , x 2 ] = f [x 1 , x 2 ] − f [x 0 , x 1 ]

x 2 − x 0 (53)

Zauważmy przypadek szczególny

f [x 0 , x 1 , . . . , x k ] = f [x 1 , x 2 , . . . , x k ] − f [x 0 , x 1 , . . . , x k−1 ]

x k − x 0 (54)

Twierdzenie 2. Iloraz różnicowy f [x 0 , . . . , x k ] jest funkcją symetryczną zmiennych x i . Jeśli x i

0

, . . . , x i

k

jest dowolną permutacją liczb x 0 , . . . , x k , to

f [x i

0

, . . . , x i

k

] = f [x 0 , . . . , x k ] (55) Twierdzenie 3. Jeśli f (x) jest wielomianem stopnia n i y i = f (x i ) dla i = 0, 1, . . . , n to

f [x 0 , . . . , x k ] = 0 (56)

dla k > n.

Twierdzenie 4. Zachodzi równość

W i,i+1,...,i+k (x) = f [x i ] + f [x i , x i+1 ] (x − x i ) + . . . (57) + f [x i , x i+1 , . . . , x i+k ] (x − x i ) (x − x i+1 ) . . . (x − x i+k−1 ) (58) A zatem widzimy, że współczynniki Newtona mogą być wyznaczone za pomocą ilo- razów różnicowych. Możemy zweryfikować przykładowo

a 0 0 = f [x 0 ] = y 0 (59)

a 0 1 = f [x 0 , x 1 ] = y 1 − y 0

x 1 − x 0 (60)

Możemy utworzyć tablicę ilorazów. Pierwsza kolumna to wartości x i punktów, druga kolumna to wartości y i punktów, kolejne kolumny to wartości ilorazów różnicowych. Dla poprzedniego przykładu

x 0 f [x 0 ] f [x 0 , x 1 ] f [x 0 , x 1 , x 2 ] f [x 0 , x 1 , x 2 , x 3 ] (61)

x 1 f [x 1 ] f [x 1 , x 2 ] f [x 1 , x 2 , x 3 ] (62)

x 2 f [x 2 ] f [x 2 , x 3 ] (63)

x 3 f [x 3 ] (64)

Zauważmy, że wartości w pierwszym wierszu będą szukanymi współczynnikami.

(7)

f [x 0 , x 1 , x 2 , x 3 ] = f [x 1 , x 2 , x 3 ] − f [x 0 , x 1 , x 2 ]

x 3 − x 0 (65)

f [x 0 , x 1 , x 2 ] = f [x 1 , x 2 ] − f [x 0 , x 1 ]

x 2 − x 0 (66)

f [x 1 , x 2 , x 3 ] = f [x 2 , x 3 ] − f [x 1 , x 2 ]

x 3 − x 1 (67)

Przykład 2. Dla poprzedniego przykładu

−1 3 −2 3 1

1 −1 10 9

3 19 46

5 111

(68)

1.1.2 Wzór interpolacyjny Lagrange’a

Chcemy wyrazić wielomian w postaci sumy iloczynów wartości y i w węzłach i funkcji niezależnej od wartości y i , a więc wielomian ma zależeć liniowo of wartości y i w węzłach.

Możemy to zrobić następująco

W (x) =

n

X

i=0

y i L i (x) (69)

gdzie L i (x) - wielomiany Lagrange’a. Każdy wielomian Lagrange’a jest stopnia n.

L i (x) = Q n

k=0 i6=k

x − x k

Q n k=0 i6=k

x i − x k =

n

Y

k=0 i6=k

x − x k

x i − x k . (70)

Możemy zauważyć, że zachodzi

L i (x k ) = δ ik =

( 1 dla i = k

0 dla i 6= k . (71)

Przykład: Dla dwóch punktów: A (x 0 , y 0 ), B (x 1 , y 1 ) wielomian stopnia maksymalnie pierwszego:

W (x) = y 0 L 0 (x) + y 1 L 1 (x) (72)

W (x) = y 0

x − x 1

x 0 − x 1 + y 1 x − x 0

x 1 − x 0 . (73)

Można sprawdzić, że rzeczywiście W (x 0 ) = y 0 oraz W (x 1 ) = y 1 .

(8)

Przykład 3. Dla przykładu z wielomianem Newtona znaleźć wielomian Lagrange’a oraz na jego podstawie wartość wielomianu dla x = 1.

W 3 (x) = 3 (x − 1) (x − 3) (x − 5)

(−1 − 1) (−1 − 3) (−1 − 5) + (−1) (x + 1) (x − 3) (x − 5)

(1 + 1) (1 − 3) (1 − 5) (74) + 19 (x + 1) (x − 1) (x − 5)

(3 + 1) (3 − 1) (3 − 5) + 111 (x + 1) (x − 1) (x − 3)

(5 + 1) (5 − 1) (5 − 3) (75) Oszacowanie błędu dla punktów, które nie są punktami węzłowymi.

Twierdzenie 5. Jeśli funkcja f jest (n + 1) − krotnie różniczkowalna, to dla każdego x istnieje ξ z najmniejszego przedziału I [x ¯ 0 , . . . , x n , ¯ x], który zawiera wszystkie x i i ¯ x, taka, że

f (¯ x) − W 01...nx) = ω (¯ x) f (n+1) (ξ)

(n + 1)! (76)

przy czym ω (x) = (x − x 0 ) (x − x 1 ) . . . (x − x n ).

Zauważmy, że jeśli ¯ x jest węzłem, to otrzymujemy ograniczenie równe 0, czyli do- kładną wartość.

Przykład 4.

f (x) = sin x (77)

x i = π

10 i (78)

gdzie i = 0, 1, 2, 3, 4, 5, n = 5.

sin x − W (x) = (x − x 0 ) (x − x 1 ) . . . (x − x 5 ) − sin ξ

720 (79)

gdzie ξ = ξ(x),

=⇒ |sin x − W (x)| ≤ 1

720 |(x − x 0 ) (x − x 1 ) . . . (x − x 5 )| = |ω (x)|

720 (80)

co wynika z ograniczenia wartości dla funkcji sin do 1. Zauważmy, że |ω(x)| wzrasta bardzo szybko poza przedziałem I[x 0 , . . . , x n ]. Możemy sprawdzić jak będzie dobrane ξ np. gdy x = π/20. Najmniejszy przedział zawierający wszystkie węzły i π/20 to jest [0, π/2], w tym przedziale funkcja sin maksymalną wartość przyjmuje dla x = π/2, gdzie wartość funkcji wynosi 1, a więc błąd względny będzie ograniczony przez

|ω (x)|

720 1 = 0.0142

720 = 0.0000197 . (81)

Zbieżność. Mamy funkcję f określoną na przedziale [a, b] i dowolnie wiele razy róż-

niczkowalną. Dla każdego podziału przedziału ∆ = {a = x 0 < x 1 < . . . < x n = b}

(9)

istnieje wielomian interpolacyjny P ∈ Π n taki, że P (x i ) = f i dla x i ∈ ∆. Ciąg ∆ m podziałów przedziału

m = n a = x (m) 0 < x (m) 1 < . . . < x (m) n

m

o (82) implikuje ciąg wielomianów interpolacyjnych P

m

. Zbieżność maksymalnej odległości między węzłami nie wystarcza do tego aby wielomiany P

m

były zbieżne do funkcji f . Twierdzenie 6. Dla każdego ciągu podziałów ∆ m przedziału [a, b] można znaleźć funkcję f ciągłą na [a, b], taką, że wielomiany P

m

dla m → ∞ nie są zbieżne jednostajnie do f (x).

Dla przypomnienia zbieżność jednostajna ciągu funkcji {f n } do f jest zdefiniowana jako

n→∞ lim sup {|f n (x) − f (x)| : x ∈ D} = 0 (83) Zbieżność punktowa ciągu funkcji {f n } do f jest zdefiniowana jako

n→∞ lim f n (x) = f (x) (84)

dla każdego x ∈ D. Zachodzi, że każdy ciąg zbieżny jednostajnie jest zbieżny punktowo do tej samej funkcji.

Dla niecałkowitych funkcji równoodległy podział przedziału x (m) i = a + i b − a

m (85)

dla i = 0, . . . , m nie gwarantuje punktowej zbieżności dla niecałkowitych funkcji. Przy- kład:

Przykład 5.

f (x) = 1

1 + x 2 (86)

na przedziale [a, b] = [−5, 5], lub

f (x) =

x (87)

na przedziale [a, b] = [0, 1].

1.1.3 Zjawisko Rungego

Czasami zwiększenie liczbę węzłów prowadzi do pogorszenia wyników interpolacji. Do- konać interpolacji funkcji

y = |x| (88)

na przedziale h−1, 1i, dla n = 2, 4, 10 dla węzłów równoodległych, pierwszy punkt x 0 = −1.

Odpowiedź: dla n = 2, krok h = 1

W 2 (x) = x 2 (89)

(10)

Dla n = 4, krok h = 1/2

W 4 (x) = − 4 3 x 4 + 7

3 x 2 (90)

Dla n = 10, krok h = 1/5 W 10 (x) = 390625

5184 x 10 − 1015625

6048 x 8 + 221875

1728 x 6 − 6835

162 x 4 + 11527

1792 x 2 (91) Sprawdzić wartość wielomianu dla 0.9, prawidłowa wartość 0.9, W 2 (x) = 0.81, błąd bezwzględny 0.09, W 4 (x) = 1.0152, błąd bezwględny 0.1152, W 10 (x) = −0.24.

Można poprawić wyniki interpolacji wybierając optymalnie węzły do interpolacji.

Można np. wybrać węzły Czebyszewa, które dla przedziału [−1, 1] są zdefiniowane na- stępująco. Mamy wielomiany Czebyszewa

T 0 (x) = 1 (92)

T 1 (x) = x (93)

T n (x) = 2xT n−1 (x) − T n−2 (x) (94) dla n ≥ 2. Przykładowo

T 2 (x) = 2x 2 − 1 (95)

Pierwiastki: −1/2, 1/

2.

T 3 (x) = 4x 3 − 3x (96)

Pierwiastki: 0, −3/2,

3/2.

T 4 (x) = 8x 4 − 8x 2 + 1 (97)

T 5 (x) = 16x 5 − 20x 3 + 5x (98)

T 6 (x) = 32x 6 − 48x 4 + 18x 2 − 1 (99) Wybieramy węzły, które są zerami wielomianu Czebyszewa T n+1 . Węzły mogą być obli- czone ze wzoru

x i = cos (2i + 1) π

2n + 2 (100)

dla i = 0, . . . , n, i przedziału [−1, 1].

Dla węzłów Czebyszewa otrzymamy dla poprzedniego przykładu W 2 (x) = 2x 2

√ 3 (101)

Obliczenie interpolacji na wolframalpha, http://www.wolframalpha.com/input/?i=

interpolating+polynomial+{0%2C0}%2C{-sqrt%283%29%2F2%2Csqrt%283%29%2F2}%2C{sqrt%

283%29%2F2%2Csqrt%283%29%2F2}. Wartość dla 0.9 wynosi 0.94, błąd bezwzględny 0.04.

(11)

1.2 Interpolacja przedziałowa (interpolacja za pomocą funkcji skleja- jących)

Interpoluje się części funkcji, najczęściej wielomianem stopnia trzeciego. Jeśli kawałki interpolujemy funkcjami liniowymi, to funkcja interpolująca ma "kanty".Przykład: inter- polacja kawałków wielomianami drugiego stopnia.

Wariant pierwszy. Funkcję dzielimy na kawałki w ten sposób, że do każdego kawałka należą dokładnie 3 punkty, w tym 2 punkty na końcach. Wtenczas funkcja sklejająca w każdym kawałku może być wyznaczona z układu równań:

W i (x 1 ) = y 1 (102)

W i (x 2 ) = y 2 (103)

W i (x 3 ) = y 3 (104)

Wadą tego wariantu jest to, że na łączeniach funkcji sklejających pojawiają się "kanty".

Wariant drugi. 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. Zakładamy, że mamy dany kawałek po lewej stronie określony następująco:

W 0 (x) = a 0 x 2 + b 0 x + c 0 (105) Mamy znaleźć kawałek:

W 1 (x) = a 1 x 2 + b 1 x + c 1 (106) A zatem a 0 , b 0 , c 0 są znane, szukane a 1 , b 1 , c 1 .

Dwa pierwsze warunki wynikają z warunku interpolacji.

W 1 (x 1 ) = y 1 (107)

W 1 (x 2 ) = y 2 (108)

Konieczny jest jeszcze jeden warunek, ponieważ liczba zmiennych wynosi 3. Zapewnienie gładkiego przejścia pomiędzy przedziałami => pochodna lewa i prawa w każdym punkcie powinny być równe

W 0 0 (x 1 ) = W 1 0 (x 1 ) (109) A zatem mamy 3 równania oraz 3 niewiadome. Rozwiązując układ równań wyznaczy- my niewiadome. Warunki na przedziałach krańcowych: Na przedziale ostatnim mamy 3 warunki wynikające z powyższego algorytmu, więc nie ma konieczności osobnego roz- patrywania tego przedziału, natomiast na przedziale pierwszym nie możemy zastosować warunku (109), bo nie ma lewego przedziału, dlatego stosujemy np. warunek: S 0 (x 0 ) = 0, oznaczający ’łagodne’ rozpoczęcie funkcji interpolującej w tym punkcie lub możemy ob- liczyć pierwszą funkcję dla pierwszych 3 punktów.

Dla sześciennych funkcji sklejających możemy rozważać wariant, w którym w każdym

przedziale znajdują się 3 punkty, w tym 2 punkty na końcach przedziału. Wtedy wyzna-

czanie funkcji sklejających przebiega podobnie jak w wariancie drugim dla kwadratowych

funkcji sklejających.

(12)

Dokonać interpolacji funkcjami kwadratowymi z gładkimi przejściami dla wcześniej- szego przykładu. Odpowiedź:

W 0 (x) = −x 2 − 2x + 2 , (110)

W 1 (x) = 7x 2 − 18x + 10 . (111)

1.3 Interpolacja dla liczb zespolonych

Interpolacja w liczbach zespolonych. Mamy węzły rzeczywiste x 0 , x 1 . Definiujemy war- tości zespolone np. wg funkcji v(x) = 5x + x 2 i. Wyświetlić część rzeczywistą i urojoną na wykresie. Jak wykonać interpolację? Możemy wziąść pod uwagę dwie osobne inter- polacje, dla każdego węzła obliczamy część rzeczywistą wartości zespolonej, następnie wykonujemy interpolację dla punktów (x 0 , <v(x 0 )), (x 1 , <v(x 1 )). Następnie dla każdego węzła obliczamy część urojoną wartości zespolonej i wykonujemy interpolację dla punk- tów (x 0 , =v(x 0 )), (x 1 , =v(x 1 )).

1.4 Ekstrapolacja

Przewidywanie wartości poza wyznaczonym przedziałem I[x 0 , x 1 , . . . , x n ]. Jak zamienić problem ekstrapolacji na problem interpolacji w wyznaczonym przedziale? Gdy mamy dany problem ekstrapolacji gdy węzły są liczbami zespolonymi, to to zamiast wykonywać interpolację dla węzła zespolonego z, wykonujemy interpolację dla węzła 1/z. Gdy

z = a + bi (112)

to 1

z = a

a 2 + b 2ib

a 2 + b 2 (113)

Operacja ta wymienia część poza okręgiem jednostkowym z częścią wewnątrz okręgu jednostkowego. Zauważmy, że gdy a 2 + b 2 = 1, to transformacja ta nic nie zmienia. Przy- kład. Wykonać ekstrapolację dla dwóch podanych punktów (−1 − 2i, 4), (2 + 3i, 1), dla wartości 3+4i. Wartość 3+4i wykracza poza prostokąt wyznaczony przez dwa dane punk- ty, więc mamy do czynienia z ekstrapolacją. Konstruujemy punkty 1/z, (−1/5 + 2/5i), (2/13 − 3/13i). Dla poszukiwanego punktu mamy 3/25 − 4/25i. Uzyskaliśmy problem interpolacji, po interpolacji dla części rzeczywistej i urojonej należy obliczyć z powro- tem 1/z 0 . Zauważmy, że punkty początkowe są tak dobrane, że w jednym z nich mamy wartości ujemne, gdyby nie były ujemne mógłby być problem z uzyskaniem interpolacji.

2 Dodatki

2.1 Interpolacja wielomianowa

2.1.1 Wyprowadzenie wzoru na interpolację liniową dla dwóch punktów Układ równań

y 0 = ax 0 + b (114)

(13)

y 1 = ax 1 + b (115) Rozwiązanie tego układu równań:

a = y 0 − b x 0

(116) y 1 = x 1 (y 0 − b)

x 0 + b (117)

y 1 = y 0 x 1

x 0bx 1

x 0 + b (118)

b

 1 − x 1

x 0



= y 1y 0 x 1 x 0

(119)

b = y 1y

0

x x

1

0

1 − x x

1

0

(120)

b =

y

1

x

0

−y

0

x

1

x

0

x

0

−x

1

x

0

(121)

b = y 1 x 0 − y 0 x 1

x 0 − x 1 (122)

a = y 0 − y

1

x x

0

−y

0

x

1

0

−x

1

x 0 (123)

a =

y

0

x

0

−y

0

x

1

−y

1

x

0

+y

0

x

1

x

0

−x

1

x 0 (124)

a = y 0 x 0 − y 1 x 0

x 0 (x 0 − x 1 ) (125)

a = y 0 − y 1

x 0 − x 1 (126)

3 Zadania

3.1 Zadania na 3.0

• Wyznaczyć wielomian interpolacyjny Newtona i Lagrange’a oraz w postaci ogólnej dla punktów: dla grup 1,2,

(−2, 1) , (0, −1) , (1, 0) , (3, 2) , (5, 0) (127) dla grup 3 i 4,

(1, 2) , (2, 1) , (3, −1) , (5, 0) , (6, 1) . (128) Naszkicować wykres wielomianu wraz z punktami.

Wskazówki

• Do naszkicowania wykresu można wykorzystać wolframalpha.com.

(14)

3.2 Zadania na 4.0

• Pokazać istnienie efektu Rungego w interpolacji wielomianowej, to znaczy zna- leźć wartość wielomianu interpolacyjnego dla odpowiednio dobranego punktu dla wielomianów stopnia 2, 3, 4 dla funkcji: dla grup 1 i 2

y = 1

1 + 25x 2 (129)

na przedziale (−1, 1). Dla grupy 3

y = |x| (130)

na przedziale (−1, 1). Dla grupy 4

y = 1

x (131)

na przedziale (−1, 1). Naszkicować wykres z powyższą funkcją, wielomianami in- terpolacyjnymi oraz wybranym punktem.

• Zastosować węzły Czebyszewa do pokazania, że zapobiegają one efektowi Rungego dla wielomianów stopnia 2, 3, 4 dla wybranego wcześniej punktu.

• Znaleźć wielomian interpolacyjny Newtona za pomocą tablicy ilorazów różnico- wych dla punktów z zadania na 3.0.

3.3 Zadania na 5.0

• Dokonać interpolacji przedziałowej z 3 przedziałami, dla pierwszego przedziału wybierane są 3 punkty, wielomianami stopnia 2 tak aby funkcja interpolująca była różniczkowalna dla funkcji: dla grup 1 i 2

y = 1

1 + 25x 2 (132)

na przedziale (−1, 1). Dla grupy 3

y = |x| (133)

na przedziale (−1, 1). Dla grupy 4

y = 1

x (134)

na przedziale (−1, 1). Naszkicować wykres z powyższą funkcją, wielomianami in-

terpolacyjnymi oraz wybranym punktem.

Cytaty

Powiązane dokumenty

Metoda Choleskiego, podobnie jak metoda rozkładu L·U polega na zastąpieniu jednego układu równań o n niewiadomych opisanego macierzą pełną dwoma układami równań również o n

Jak z niego widać, wpływ wagi na uzyskane pseudorozwiązanie jest zgodny z oczekiwaniem, czyli zwiększanie wartości wagi przypi- sanej wybranemu równaniu powoduje

Wykorzystując rozwiązanie zadania nr 12 ze skryptu zdefiniować funkcję (i zapisać w pliku funkcyjnym), która dla dowolnej macierzy kwadratowej obliczy sumę elementów pod

Król Artur urządza turniej rycerski, w którym rycerze spotykają się (jakże by inaczej?) systemem turniejowym. W każdym pojedynku obaj rycerze mają takie same szanse na

Ponadto nasz organizm bardzo łatwo je wytwarza podczas śmiechu i w trakcie jedzenia ciemnej czekolady.. Z jaką średnią prędkością ze stolicy porusza się ten

[r]

(widoki brył z różnych kierunków pokazuje film, do którego prowadzi link zapisany wyżej) Podręcznik strona 217 Zadanie 7. (obliczenia wykonaj sposobem pisemnym) Podręcznik

[r]