Wstęp do metod numerycznych

1 Wstęp do metod numerycznychWykład 13 - ostatni Aproksym...
Author: Ludwika Żurawska
0 downloads 4 Views

1 Wstęp do metod numerycznychWykład 13 - ostatni Aproksymacja dr inż. Wojciech Bieniecki Instytut Matematyki i Informatyki

2 Sformułowanie zagadnienia aproksymacjiW klasycznym przypadku dla danej funkcji f spośród funkcji ustalonej klasy poszukuje się funkcji F (też ustalonej klasy), która w określonym sensie najlepiej przybliża f. Innym zadaniem jest wyznaczenie, możliwie niskim kosztem, przybliżenia F funkcji f z zadaną dokładnością. Można wreszcie stawiać problem aproksymacji nie jednej, ale całej klasy funkcji funkcjami innej klasy. Rozwiązania tak różnie postawionych zadań są oczywiście różne, nie istnieje więc jedna „optymalna” aproksymacja.

3 Aproksymacja a interpolacjaFunkcję f(x), znaną lub określoną tablicą wartości, będziemy aproksymować (zastępować) inną funkcją F(x), zwaną funkcją aproksymującą lub przybliżeniem funkcji f(x). Oczywiście przybliżenie takie powoduje powstanie błędów aproksymacji. Wykres funkcji intepolującej musi przechodzić przez zadane węzły, a funkcji aproksymującej - nie

4 Sformułowanie zagadnienia aproksymacjiNiech f(x) będzie funkcją, którą chcemy aproksymować, X - pewną przestrzenią liniową unormowaną (tzn. określona jest w niej funkcja nazywana normą) zaś Xm - m-wymiarową podprzestrzenią liniową przestrzeni X. Aproksymacja funkcji f(x) polega na wyznaczeniu takich współczynników a0, a1, a2, ..., am funkcji: . aby spełniała ona pewne warunki (np. minimalizowała normę różnicy ||f(x) - F(x)||), przy czym 0, 1, ..., m są funkcjami bazowymi m+1 wymiarowej podprzestrzeni liniowej Xm+1.

5 Sformułowanie zagadnienia aproksymacjiWybór odpowiedniej podprzestrzeni Xm i związanej z nią bazy (funkcji bazowych k (x)) jest zagadnieniem istotnym ze względu na numeryczny koszt rozwiązania i błędy zaokrągleń. Często obieraną podprzestrzenią Xm jest: a) podprzestrzeń funkcji  trygonometrycznych z bazą: 1, sin x, cos x, sin 2x, cos 2x, ..., sin kx, cos kx, szczególnie przydatna, gdy aproksymowana funkcja f(x) jest funkcją okresową; b) podprzestrzeń wielomianów stopnia co najwyżej m z bazą jednomianów: 1, x, x2, x3, ..., xm. Mimo prostoty działań na wielomianach, baza ta ma istotną wadę - wrażliwość na błędy zaokrągleń; kumulujące się błędy w przypadku działań na małych oraz na niewiele różniących się liczbach mogą całkowicie zniekształcić obliczenia c) podprzestrzeń wielomianów stopnia co najwyżej m, określonych na przedziale <-1, 1> z bazą wielomianów Czebyszewa: T0(x), T1(x), T2(x), ..., Tm(x), czy też z bazą wielomianów Legendre'a: L0(x), L1(x), L2(x), ..., Lm(x).

6 Aproksymacja ciągła i dyskretnaZnajdź funkcję F(x) aproksymującą ciągłą funkcję f(x) w przedziale [a, b]. Funkcje f(x) oraz F(x) powinny różnić się jak najmniej w przedziale [a, b] w sensie ogólnej normy całkowej (I2) Dla funkcji f(x) określonej i ciągłej na przedziale poszukujemy minimum całki gdzie w(x) jest ciągłą nieujemną funkcją wagową, dodatnią poza zbiorem miary zero.

7 Aproksymacja ciągła i dyskretnaAPROKSYMACJA DYSKRETNA Znajdź funkcję F(x) aproksymującą (uciąglającą) funkcję dyskretną f(x) określoną w przedziale [a, b] poprzez zbiór n wartości (xi, fi) i=1 … n. Odcięte xi nazywa się węzłami aproksymacji natomiast rzędne fi – wartościami węzłowymi. Zagadnienie aproksymacji przy wybranych funkcjach bazowych k(x) sprowadza się do jednoznacznego wyznaczenia wartości współczynników  ak, zapewniających minimum normy ||f(x) - F(x)||, czyli: Dla funkcji f(xi), danej na dyskretnym zbiorze argumentów, poszukujemy minimum sumy (metoda najmniejszych kwadratów): przy czym w(xi) jest funkcją wagową taką, że w(xi)  0 dla i = 0, 1, ..., n.

8 Aproksymacja dyskretnaAproksymacja taka nazywa się aproksymacją średniokwadratową. Polega ona na takim wyznaczeniu funkcji F(x), aby suma kwadratów odległości jej wartości od wartości danej funkcji f(x) była jak najmniejsza

9 Aproksymacja średniokwadratowaNiech będzie dana funkcja y = f(x), która na pewnym zbiorze X punktów: x0, x1, x2, ..., xn przyjmuje wartości y0, y1, y2, ..., yn . Wartości te mogą być przybliżone, obarczone pewnymi błędami (np. błędami obserwacji pomiarowych). Należy znaleźć funkcję F(x) mało odchylającą się od danej funkcji f(x) zarówno między węzłami, jak i w węzłach x0, x1, x2, ..., xn,  która przybliżałaby daną funkcję tak, aby ją wygładzić. Niech  j (x), j = 0, 1, 2, ..., m, będzie układem funkcji bazowych podprzestrzeni Xm.

10 Aproksymacja średniokwadratowaPoszukujemy wielomianu uogólnionego będącego najlepszym przybliżeniem średniokwadratowym funkcji f(x), przy czym współczynniki ai są tak określone, aby powyższe wyrażenie było minimalne Oznaczmy gdzie w(x) jest ustaloną z góry funkcją wagową taką, że w(xi)  0 dla i = 0, 1, 2, ..., n, zaś Ri  jest odchyleniem w punkcie xi . Najczęściej przyjmuje się, że w(x) =1, można jednak dobrać inną funkcję wagową w celu otrzymania lepszego przybliżenia funkcji.

11 Aproksymacja średniokwadratowaW celu znalezienia takich współczynników ak, dla których funkcja H osiąga minimum, obliczamy pochodne cząstkowe względem zmiennych ak i przyrównujemy je do zera: Otrzymujemy układ m+1 równań z m+1 niewiadomymi ak, k = 0, 1, 2, ..., m: Układ nazywamy układem normalnym. Ponieważ funkcje j (x) tworzą bazę przestrzeni Xm, zatem wyznacznik układu jest różny od zera i jednoznaczne rozwiązanie tego układu zapewnia minimum funkcji H.

12 Aproksymacja średniokwadratowaW zapisie macierzowym układ normalny przyjmuje postać DTDA = DTf Powyższy układ jest równoważny układowi DA = f, który jest nadokreślony (n równań, m+1 niewiadomych)

13 Aproksymacja średniokwadratowaJeżeli za funkcje bazowe j(x) przyjmuje się ciąg jednomianów 1, x, x2, x3, ..., xm, to wzór można zapisać w postaci: Lub po przekształceniu Lub po rozpisaniu na układ równań

14 Przykład W tabeli dane są wyniki pomiarów. j 1 2 3 4 5 6 7 xj 8 9 111 2 3 4 5 6 7 xj 8 9 11 14 fj W celu znalezienia funkcji liniowej, aproksymującej dane z tabeli, użyjemy jednomianów 0(x) = 1 oraz 1(x) = x. Funkcja będzie w postaci: dla j = 0, 1, 2, … , 7

15 Przykład 3.5 Określamy funkcję H będącą normąW celu wyznaczenia szukanych współczynników a0 i a1 obliczamy pochodne cząstkowe funkcji H po a0 i a1 przyrównując je do zera. Korzystamy z wzoru

16 Przykład Podstawiając następnie za (xj, fj), j=0,...,7 wartości z tabeli pierwsze równanie powyższego układu przyjmie postać: drugie Po uproszczeniu Co daje rozwiązanie

17 Przykład

18 Przykład Dla danych doświadczalnych z tabeli znaleźć metodą najmniejszych kwadratów krzywą typu hiperboli. Poszukujemy funkcji aproksymujących typu: a) y = a1/x + a0 b) y = 1/(a1x+a0) c) y = x/(a1x+a0). xi 2,5 2,7 2,9 3,1 3,3 3,5 3,7 3,9 yi 1,21 1,29 1,32 1,34 1,39 1,45 1,47 1,55 Dla przypadku a) pochodne po a0 i a1 dają w rezultacie układ równań liniowych, jednak dla przypadku b i c) pochodne są trudniejsze i mamy układ 2 równań kwadratowych, a więc nie da się zastosować prostej numerycznej metody jego rozwiązania – można jednak rozwiązać go ręcznie

19 Przykład

20 Przykład – dopasowanie okręguSformułowanie zadania: dla par (xj,fj) zebranych w tabeli xj 2 2,3 3 3,6 3,9 3,7 2,9 2,2 fj 1 0,5 -1,1 -2 -1,2 Dopasuj metodą najmniejszych kwadratów okrąg. Okrąg dany jest równaniem (x-X)2 + (y-Y)2 = R2 Zadanie będzie polegało na wyznaczeniu nieznanych parametrów (X, Y, R).

21 Dopasowanie okręgu Postać ogólna równania okręgu jest następująca:Postać równoważna (ale współczynniki a,b,c będą inne, nazwijmy je z1,z2,z3,z4) może być następująca: Możemy to zapisać w postaci iloczynu skalarnego wektorów

22 Dopasowanie okręgu Wstawienie poszczególnych wartości (xj, fj) do powyższego równania wygeneruje nam układ równań Az = 0, gdzie Aby otrzymać nietrywialne rozwiązanie, należy założyć, że jedna ze współrzędnych jest niezerowa i przyjąć np. z1=1 i przyjąć u1=z2, u2=z3,u3=z4 . Wtedy możemy zbudować układ równoważny Bu=b

23 Dopasowanie okręgu Gdybyśmy mieli 3 punkty (xj,yj) to układ równań miałby jednoznaczne rozwiązanie (na 3 punktach możemy jednoznacznie określić okrąg) W naszym przypadku układ Bu=b będzie nadokreślony i będzie składał się z 8 równań Metodą SVD otrzymujemy rozwiązanie Przekształcamy równanie okręgu ogólne na kanoniczne i mamy

24 Przykład aproksymacji ciągłejZnajdź kwadratową aproksymację funkcji y = sin(x) w przedziale [0, ] Funkcję będziemy aproksymować jednomianami Skorzystamy z normy I2 Na podstawie powyższych wzorów wynikają następujące postacie macierzy i wektora układu równań

25 Przykład aproksymacji ciągłej

26 Przykład aproksymacji ciągłejDla konkretnego przykładu:

27 Przykład aproksymacji ciągłejKońcowy układ równań ma zatem postać

28 Literatura 1. Beata Pańczyk, Edyta Łukasik, Jan Sikora, Teresa GuziakMetody numeryczne w przykładach, Politechnika Lubelska Lublin 2012 2. Marcin Tekieli Politechnika Krakowska 3. Walter Gander Gene H. Golub Rolf Strebel, Least-Squares Fitting of Circles and Ellipses https://pdfs.semanticscholar.org/ab86/fdbc15c9a114b78d4a024a08e14e94c8cf2a.pdf