Interpolacja trygonometryczna
Załóżmy, że znamy wartości pewnej ciągłej i okresowej funkcji f(x) o okresie 2π w 2n+1 węzłach. Jako bazę interpolacji przyjmujemy zbiór funkcji trygonometrycznych
Otrzymujemy zatem wielomian interpolacyjny w postaci
zawierający 2n+1 nieznanych parametrów.
Ze względu na uproszczenie obliczeń najistotniejszy jest przypadek interpolacji funkcji określonej na zbiorze równoodległych węzłów xi∈[0,2π] dobranych według następującej zależności
, gdzie i = 0, 1, ..., 2n
Czyli
Warunek interpolacji prowadzi do układu równań liniowych w postaci
Współczynniki pierwszego wiersza macierzy X wynikają z wartości funkcji sin(hx) i cos (hx) dla x0 = 0. Przedstawiony układ równań rozwiązuje się natychmiastowo, ponieważ macierz X-1 można wyznaczyć z zależności
Przykład: Daną funkcję f(x) = 7x – x2 przybliżyć wielomianem trygonometrycznym przyjmując n = 3. Współrzędne węzłów interpolacji obliczamy ze wzoru:
x | 0 | 0,898 | 1,795 | 2,693 | 3,590 | 4,488 | 5,386 |
---|---|---|---|---|---|---|---|
y | 0 | 5,478 | 9,344 | 11,598 | 12,242 | 11,274 | 8,695 |
Baza interpolacji – zbiór funkcji:
Interpolacja wielomianowa
W praktyce często używa się bazy złożonej z jednomianów
Baza dla funkcji ciągłych na odcinku skończonym [xo, xn] jest bazą zamkniętą, tzn., że każda funkcja tej klasy może być przedstawiona w postaci szeregu złożonego z funkcji bazowych. Wielomian interpolacyjny ma w tym przypadku postać:
dodatkowo musi być spełniony warunek:
Powyższy układ równań ma jedyne rozwiązanie względem a1, jeżeli wartości x0, x1, ..., xn są od siebie różne
Macierz X-1 dla bazy wielomianowej nazywana jest macierzą Lagrange’a
Zauważyć należy, że każdy zbiór węzłów równoodległych xi+1 – xi = h = const. można sprowadzić do zbioru podstawowego podstawiając , wówczas , a macierz Φ przyjmuje postać
Interpolacja Lagrange’a
Przedstawiony powyżej sposób podejścia do interpolacji nie jest zbyt efektywny, ponieważ macierz X jest macierzą pełną i nie zawsze dobrze uwarunkowaną, co oznacza, że numeryczna procedura jej odwracania może być obarczona dużym błędem.
W interpolacji wielomianowej Lagrange’a dla n+1 węzłów interpolacji
przyjmuje się funkcje bazowe w postaci
Funkcje te są wielomianami stopnia n zbudowanymi w ten sposób, że w funkcji bazowej φ1 brakuje czynnika (x-xi). Zatem wielomian interpolacji wyraża się następującym wzorem:
współczynniki a0 ... an tego wielomianu wyznaczamy z równania:
X · A = Y, przy czym macierz X ma postać:
Macierz posiada tylko główną przekątną niezerową w związku z tym układ równań X · A = Y rozwiązuje się natychmiastowo
Można więc wielomian interpolacyjny Lagrange’a zapisać w postaci ułamka:
lub krócej
, j = 0, 1, ..., n
Aproksymacja średniokwadratowa
Niech dana będzie funkcja y=f(x), która w pewnym zbiorze X punktów x0, x1, ..., xn przyjmuje wartości y0, y1, ..., yn. Wartości te znane tylko w przybliżeniu z pewnym błędem (np. jako wyniki pomiarów). Poszukujemy takiej funkcji Q(x) przybliżającej daną funkcję f(x), która umożliwi wygładzenie funkcji f(x), czyli pozwoli z zakłóconych błędami danymi wartości funkcji przybliżonej otrzymać gładką funkcję przybliżającą.
Niech ϕj(x), j=0, 1,...,n będzie układem funkcji bazowych. Poszukujemy wielomianu uogólnionego Q(x) będącego najlepszym przybliżeniem średniokwadratowym funkcji f(x) na zbiorze X=(xj). Funkcja przybliżająca ma postać
Przy czym współczynniki ai są tak określone, aby wyrażenie
dla i=0, 1, ..., n
było minimalne. Funkcja w(x) jest z góry ustaloną funkcją wagową.
Aby wyznaczyć współczynniki ai oznaczamy odchylenie
gdzie Rj jest odchyleniem w punkcie xj.
Następnie obliczamy pochodne cząstkowe funkcji H względem ai. Z warunku
, gdzie k = 0, 1, ..., n
otrzymujemy układ m+1 równań o niewiadomych ai zwany układem normalnym
, gdzie k = 0, 1, ..., n
Jeśli wyznacznik tego układu jest różny od zera to rozwiązaniem układu jest minimum funkcji H. W zapisie macierzowym układ przyjmuje postać
gdzie
Aproksymacja wielomianowa
Jeżeli za funkcje bazowe przyjmiemy ciąg jednomianów (xi), i = 0, 1, ..., n to układ normalny przyjmuje postać
, k = 0, 1, ..., n
co po zmianie kolejności sumowania daje
Aproksymacja za pomocą wielomianów ortogonalnych ze wzrostem stopnia wielomianu, obliczenia stają się coraz bardziej pracochłonne a ich wyniki niepewne. Problem ten można usunąć stosując do aproksymacji wielomiany ortogonalne.
Funkcje f(x) i g(x) nazywa się ortogonalnymi na dyskretnym zbiorze punktów x0, x1, ..., xn jeśli
przy czym
Analogicznie ciąg funkcyjny
nazywamy ortogonalnym na zbiorze punktów x0, x1, ..., xn jeśli
dla j≠k
Zastosowanie tej metody powoduje, że znika jedna z trudności obliczeniowych przy aproksymacji wielomianowej, mianowicie złe uwarunkowanie macierzy układu normalnego. Przy aproksymacji wielomianami ortogonalnymi macierz układu normalnego jest macierzą diagonalną, a jej elementy położone na głównej przekątnej dane są wzorem
Załóżmy, że znamy n+1 równoodległych punktów xi (xi = x0+ih, i = 0, 1, ..., n). Za pomocą przekształcenia liniowego
przeprowadzimy te punkty w kolejne liczby całkowite od 0 do n poszukujemy ciągu wielomianów
(dolny indeks oznacza stopień i m ≤ n) spełniających warunek ortogonalności
dla j≠k
przy czym
gdzie
Często używa się unormowanego ciągu wielomianów spełniających warunek
, gdzie k = 0, 1, ..., m
Co po przekształceniu daje nam wzór na wielomiany Grama, zwane też wielomianami Czebyszewa stopni k = 0, 1, ..., m w postaci
, gdzie k = 0, 1, ..., m
Wzór aproksymacyjny oparty na wielomianach Grama ma postać:
gdzie,
oraz
Aproksymacja trygonometryczna
Często spotykamy się z przypadkiem, gdy funkcja f(x) jest okresowa. Taką funkcję wygodniej jest aproksymować, wielomianem trygonometrycznym o bazie:
1, sin x, cos x, sin 2x, cos 2x, …, sin kx, cos kx
Jeżeli f(x) jest funkcją dyskretną określoną w dyskretnym zbiorze równoodległych punktów i ich liczba jest parzysta i wynosi 2L (dla nieparzystej liczby punktów rozumowanie jest analogiczne), niech:
dla i = 0, 1, …, 2L-1
Baza jest ortogonalna nie tylko na przedziale <0, 2π>, ale też na zbiorze punktów xi, przy czym warunki ortogonalności mają postać:
dla m, k dowolnych, przy czym m i k zmieniają się od 0 do L
Przybliżeniem funkcji f(x) na zbiorze punktów xi jest wielomian trygonometryczny:
, n<L
Współczynniki aj i bj wielomianu wyznaczamy tak, aby suma kwadratów różnic
była minimalna.
Korzystając z warunku ortogonalności otrzymujemy rozwiązanie układu normalnego
w postaci:
dla j=1, 2, …, n
Kwadratury Newtona-Cotesa – wzory zamknięte
Poniżej znajdują się wzory zamknięte dla n = (1..3):
wzór trapezów
wzór parabol (Simpsona)
wzór Bessela
Interpretacja graficzna
wzór parabol (Simpsona)
wzór Bessela
Kwadratury Newtona - Cotesa - wzory otwarte
Wzory kwadratur nie opartych na węzłach będących końcami przedziału całkowania nazywamy wzorami otwartymi Newtona - Cotesa
Jeżeli dla skończonego [a ; b] przedziału wybierzemy zbiór punktów węzłowych {x0, …, xn} takich, że :
gdzie:
dla i=(0, …, n)
oraz
W oparciu o Twierdzenie 1 można również wyznaczyć wzory kwadratur otwartych. Wówczas wzory kwadratur dla n parzystych mają postać
oraz dla n nieparzystych mają postać:
wzór prostokątów
Metody Rungego-Kutty
Powszechnie na całym świecie stosuje się metody Rungego–Kutty czwartego rzędu. Polegają one na rozwiązaniu zagadnienia:
gdzie t∈ [a,b] oraz y(a)=α (25)
i przedstawieniu różnicy funkcji y(t) w punktach ti+1 oraz ti w postaci:
wi+1 - wi = lub inaczej wi+1 – wi = h0 (ti,wi,h) (26)
gdzie m oznacza rząd metody, cj są stałymi, a
gdzie αj, βj, γj, δlj – stałe
h - krok całkowania
Określenie stałych cj, αj, βj otrzymujemy poprzez rozwinięcie funkcji f(t,y) w szereg Taylora w otoczeniu punktu ti
Metody R-K – metoda 2 rzędu
Metoda wyprowadzona przez rozwinięcie f(t,y) w szereg Taylora 2 rzędu pozwala określić stałe c1, α1,β1, c2, α2, β2 :
Metoda punktu środkowego:
C1 = 0 C2 = 1 α1 = 0 α2 = h/2 β1 = 0 β2 = ½ (28)
wówczas możemy zapisać:
k1=hf (ti,wi) k2=hf (ti + ½ h, wi + ½ k1)
ostatecznie:
wi+1=wi+k2
lub
wi+1=wi + hf(ti + h/2, wi + h/2 * f(ti, wi))
Interpretacja graficzna:
f1=f(ti,wi) f2=f(ti + h/2, wi + h/2 * f1)
Stosując metody Rungego–Kutty 2 rzędu , rozwiązać następujące równanie różniczkowe:
y’=y-t2 + 1 0≤ t ≤2 y(0)=0,5
dla N = 10 wtedy h = 0,2; ti = i⋅h ; w0 = 0,5 oraz
metoda punktu środkowego wi+1 = 1,22 wi – 0,0088 i2 + 0,218
Metoda zmodyfikowana Eulera
wi+1 = 1,22 wi - 0,0088 i2 + 0,216
Metoda Heana dla i = 0, 1, ..., 9
wi+1 = 1,22 wi - 0,0088 i2 + 0,2173
Rozwiązanie dokładne ma postać:
y(t) = (t2+1) - 0,5 et
Metody R-K rzędu 4
Metoda wyprowadzona przez rozwinięcie f(t,y) w szereg Taylora 4 rzędu, pozwala określić stałe we wzorze (wzór ogólny R-K). Poniżej przedstawiono najczęściej stosowaną metodę 4 rzędu
k1 = hf (ti, wi)
k2 = hf (ti + ½ *h, wi + ½ *k1)
k3 = hf (ti + ½ *h, wi + ½ *k2) (37)
k4 = hf (ti+h, wi+k3)
ostatecznie:
wi+1=wi + 1/6 (k1 + 2k2 + 2k3 + k4) (38)
Interpretacja graficzna:
f1 = f (ti, wi)
f2 = f (ti + ½ * h, wi+1 + h f1)
f3 = f (ti + ½ * h, wi + ½ * h f2)
f4 = f (ti + h, wi + h f3)
linia 3-4 nie jest łamana – jest prosta !!! (na 99%) :)
Metoda R-K jest najczęściej stosowaną metodą do rozwiązywania układów równań różniczkowych
Tworzymy macierz X:
Elementy macierzy X mnożymy przez 2/7, otrzymaną macierz transponujemy i obliczamy współczynniki wzoru interpolacyjnego
Rozpatrzmy zadanie znalezienia funkcji y=y(t), które dla spełnia równanie różniczkowe zwyczajne pierwszego rzędu:
(7)
oraz warunek początkowy
y(a)=y0 (8),
gdzie f jest daną funkcją dwu zmiennych. Warunek wystarczający istnienia i jednoznaczności rozwiązania zadania (7) oraz (8) jest warunek ciągłości funkcji f(t,y)
Metoda ta rzadko jest używana w praktyce, natomiast ze względu na jej prostotę, zostanie przedstawiona w celu zobrazowania i zrozumienia technik stosowanych w bardziej zaawansowanych metodach, pomijając przy tym złożone działania matematyczne. Przedmiotem rozważań będzie poniższe równanie.
, gdzie oraz y(a)=a (10)
Na rozwiązanie powyższego zagadnienia będziemy obliczać przybliżone wartości funkcji yi=y(ti), gdzie ti=a+ih, h=(b-a)/N, dla którego i=(0,1, ..., N), gdzie ti nazywane są punktami węzłowymi, natomiast h odległością między nimi.
Rozwiniemy y(t) w szereg Taylora w celu wyprowadzenia metody Eulera. Zakładając, że y(t) jest jedynym rozwiązaniem (10) oraz posiada drugą pochodną, która jest ciągła w przedziale [a, b] wówczas dla każdego i=1, 2, ..., N.
Wykorzystując powyższe założenia możemy zapisać:
(11), gdzie
Oznaczamy h=ti+1-ti, wówczas otrzymujemy:
(12)
Użyjemy podstawienia y’(t)=f(t, y), wówczas otrzymujemy:
(13)
Zapisując ωi≈y(ti) oraz pomijając błąd przybliżenia otrzymujemy ωi+1=ωi+hf(ti, ωi) (14)
Powyższy wzór nazywamy metodą Eulera – wzór ten nazywany jest inaczej równaniem różniczkowym, gdyż można zapisać:
(15)
Aby wyznaczyć wartość szukanej funkcji y(x) w następnym kroku h, wykorzystujemy poprzednią wartość funkcji oraz wielkości zmian funkcji – dzięki pochodnej. Natomiast uwzględniając błąd przybliżenia wzór (13) przyjmuje postać:
, gdzie (16)
Lokalny błąd dyskretyzacji τi+1(h)
(17)
dodatkowo możemy określić krok h, dla którego błąd lokalny jest mniejszy od zadanej dokładności δ
, gdzie
Globalny błąd dyskretyzacji g(x)
g(t)= ω(t)-y(t) (19)
Dla wybranego punktu ti możemy zapisać:
gi=ωi-y(ti) (20), wówczas
, gdzie L- liczba Lipschnitz`a