Projekt 1 -Interpolacja-Aproksymacja
Transkrypt
Projekt 1 -Interpolacja-Aproksymacja
Informatyka Podstawy Programowania 2016/2017 Projekt 1 1. Aproksymacja - Interpolacja. 1.1 Podstawowe definicje. Niech x = {xi : i = 1,..., n} gdzie n – liczba punktów znajdujących się w przedziale [ a, b] . Załóżmy, że dla każdego xi należącego do zbioru X znamy odpowiadające mu yi ∈ R oraz, że rezultat eksperymentu lub wartość numeryczna dana jest w postaci macierzy. Oznaczmy D = {( xi , yi ) / xi ∈ X , yi ∈ Y } . Chcielibyśmy określić funkcję, która można wyrazić w postaci y = f ( x ) . Niech g będzie tą funkcją i G = {( xi , g ( xi ) / xi ∈ X } . Zachodzą dwie możliwości : 1) Szukamy takiej funkcji g w sposób wstępnie wybrany, że dystans pomiędzy D i G jest minimalny. Taki proces nazywamy aproksymacją. 2) Szukamy g w taki sposób, że D=G. Taki proces nazywamy interpolacją. Funkcja g jest najczęściej poszukiwana w formie : g ( x ) = a1 g1 ( x ) + a2 g 2 ( x ) + a3 g3 ( x ) + + an g n ( x ) (1.1) Gdzie: g k ( x ) są funkcjami wybieranymi najczęściej z klasy : 1. klasy jednomianów x k , 2. klasy funkcji trygonometrycznych: cos(kx), sin(kx), 3. klasy funkcji ekspotencjalnych np. e kx , e − kx ad.1 W przypadku sumy jednomianów funkcja g ma postać: g ( x ) = an x n + an−1 x n−1 + L + a1 x + a0 (1.2) ad.2 W przypadku funkcji trygonometrycznych funkcja g wyraża się sumą szeregu tych funkcji w postaci: g ( x ) = c + a1 cos ( x ) + a2 cos ( 2 x ) + L + an cos ( nx ) + b1 sin ( x ) + L + bn sin ( nx ) (1.3) ad.3 W przypadku funkcji ekspotencjalnych funkcja g ma odpowiednio postać: 1 Informatyka Podstawy Programowania g ( x ) = a0 + a1ek1x + b1e− k1x + a2ek2 x + b2 e− k2 x + L + an ekn x + bn e− kn x 2016/2017 (1.4) Możemy poszukiwać również g w postaci ułamków wymiernych: g ( x) = an x n + an −1 x n −1 + L + a1 x + a0 bm x m + bm −1 x m −1 + L + b1 x + b0 (1.5) Aproksymacja lub interpolacja funkcji przy pomocy wielomianów jest najczęściej spotykaną gdyż wielomiany są łatwo różniczkowalne i łatwo określić przy ich pomocy przestrzeń wektorową. W przypadku funkcji periodycznych korzystamy z wielomianów trygonometrycznych. 1.2 Wielomiany interpolacyjne Interpolacja wielomianowa przy zastosowaniu wielomianów ortogonalnych. Rozważmy kilka typów wielomianów ortogonalnych ze współczynnikami rzeczywistymi. Niech P będzie rodziną wielomianów Pn .. Ta rodzina będzie ortogonalna względem funkcjiwagi w danej na przedziale [ a, b] , jeżeli b ∫ w ( x )P ( x ) P ( x ) dx = 0 dla wszystkich n, m; n ≠ m m n (1.6) dx = c ( n ) gdzie c jest stalą i zależy od n (1.7) a b ∫ w ( x ) ( P ( x )) m 2 a 1.3 Przykłady wielomianów interpolacyjnych 1.3.1 Wielomian Legendre’a rzędu n jest definiowany przez: n 1 dn 2 x − 1) , x ∈ [ −1,1] , P0 ( x ) = 1 n n ( 2 n ! dx Pierwsze człony wielomianu są następujące: Pn ( x ) = P0 ( x ) = 1 P1 ( x ) = x P2 ( x ) = ( x 2 − 1) P3 ( x ) = ( 5 x 3 − 3 x ) P4 ( x ) = ( 35 x 4 − 30 x + 3) P5 ( x ) = ( 63 x 5 − 70 x3 + 15 x ) Można określić poszczególne człony wielomianu formułą rekurencyjną: 2 (1.8) Informatyka Podstawy Programowania 2016/2017 P0 ( x ) = 1; P1 ( x ) = x; Pn ( x ) = 2n − 1 n −1 xPn −1 ( x ) − Pn − 2 ( x ) n n (1.9) Rodzina wielomianów Legendre’a jest ortogonalna względem funkcji wagi w ( x ) = 1 w przedziale [ −1,1] więc: b ∫ Pm ( x ) Pn ( x ) dx = 0 ; n ≠ m a b ∫ ( P ( x )) n (1.10) 2 dx = 0 dla n ≠ 0 a Wielomian Legendre’a Pn(x) posiada oczywiście n pierwiastków w przedziale [ −1,1] . 1.3.2 Wielomian Laguerre’a rzędu n jest zdefiniowany przez: Ln ( x ) = e x d n −x n ( e x ) , x ∈ [0, ∞[ dx n (1.11) Pierwsze wyrazy wielomianu Laguerre’a są następujące : L0 ( x ) = 1 L1 ( x ) = x + 1 L2 ( x ) = x 2 − 4 x + 2 L3 ( x ) = − x3 + 9 x 2 − 18 x + 6 L4 ( x ) = x 4 − 16 x3 + 72 x 2 − 96 x + 24 Podobnie jak w przypadku wielomianu Legendre’a można określić poszczególne człony wielomianu Laguerre’a formułą rekurencyjną w postaci: L0 ( x ) = 1; L1 ( x ) = − x + 1; Ln ( x ) = ( 2n − x − 1) Ln −1 − ( n − 1) Ln − 2 ( x ) 2 (1.12) Rodzina wielomianów Leguerre’a jest ortogonalna do funkcji wagi w ( x ) = e − x w przedziale [0, x[ 3 więc: Informatyka Podstawy Programowania ∞ ∫e −x 2016/2017 Ln ( x ) Lm ( x ) dx = 0 dla n ≠ m 0 (1.13) 2 ∞ ∫ ( L ( x ) ) dx = ( n !) dla n ≠ 0 2 n 0 1.3.2 Wielomian Hermite’a definiuje się następująco: H n ( x ) = ( −1) e x n 2 ( ) d n − x2 e ; x ∈ ]−∞, ∞[ dx n z funkcją wagi w ( x ) = e (1.14) − x2 1.3.4 Wielomian Tchebycheva Tn ( x ) = cos ( n arccos ( x ) ) ; x ∈ [ −1,1] z funkcją wagi w ( x ) = 1 1 − x2 Tn ( x) = cos( n arccos( x)) x∈[-1,1] Z funkcją wagi : w( x) = 4 1 1− x2 (1.15)