Interpolacja Funkcja y = f(x) jest dana w postaci dyskretnej: (1) y 1 = f(x 1 ), y 2 = f(x 2 ), y 3 = f(x 3 ), y n = f(x n ), y n +1 = f(x n +1 ), to znaczy, że w pewny przedziale x 1 ; x 2 Ú ziennej niezależnej x są znane wartości tej funkcji, przy czy są one znane tylko w wybranych punktach. Wykonując interpolację uzyskuje się przybliżone wartości funkcji f(x) również dla innych punktów należących do przedziału x 1 ; x 2 Ú, ale niebędących punktai ze zbioru danych. Punkty x 1, x 2, x 3,, x n, x n +1 (ogólnie: x i ) nazywa się węzłai interpolacji. Interpolacja wykorzystująca wieloian Newtona Wieloian interpolacyjny Newtona ożna zapisać w postaci: (2) F(x) = b 1 + b 2 x + b 3 x 2 + b 4 x 3 + + b n +1 x n, gdzie b 1, b 2, b n +1 są niewiadoyi współczynnikai funkcji interpolacyjnej F(x). Mając do dyspozycji n+1 danych ożna zapisać wieloian n tego rzędu. Równanie (2) zapisuje się w postaci: (3) F(x) = a 1 + a 2 (x x 1 ) + a 3 (x x 1 )(x x 2 ) + + a n +1 (x x 1 )(x x 2 ) (x x n ), po czy tworzy się układ równań podstawiając do powyższego wzoru dane wartości x i oraz y i : y 1 = F(x 1 ) = a 1 + a 2 (x 1 x 1 ) + a 3 (x 1 x 1 )(x 1 x 2 ) + + a n +1 (x 1 x 1 )(x 1 x 2 ) (x 1 x n ) y 2 = F(x 2 ) = a 1 + a 2 (x 2 x 1 ) + a 3 (x 2 x 1 )(x 2 x 2 ) + + a n +1 (x 2 x 1 )(x 2 x 2 ) (x 2 x n ) y n+1 =F(x n+1 )=a 1 +a 2 (x n+1 x 1 )+a 3 (x n+1 x 1 )(x n+1 x 2 ) + +a n +1 (x n+1 x 1 )(x n+1 x 2 )...(x n+1 x n ) Ostatecznie układ równań jest następujący: y 1 = a 1 y 2 = a 1 + a 2 (x 2 x 1 ) y 3 = a 1 + a 2 (x 3 x 1 ) + a 3 (x 3 x 1 )(x 3 x 2 ) (4) y 4 = a 1 + a 2 (x 4 x 1 ) + a 3 (x 4 x 1 )(x 4 x 2 ) + a 4 (x 4 x 1 )(x 4 x 2 )(x 4 x 3 ) y n = a 1 + a 2 (x n x 1 ) + a 3 (x n x 1 )(x n x 2 ) + + a n (x n x 1 )(x n x 2 ) (x n x n-1 ) y n+1 = a 1 +a 2 (x n+1 x 1 ) +a 3 (x n+1 x 1 )(x n+1 x 2 ) + + a n +1 (x n+1 x 1 )(x n+1 x 2 ) (x n+1 x n ) co ożna zapisać acierzowo: (5) X a = y, gdzie: (6) 1 2 1 1 x x 1 x3 x1 ( x3 x1 )( x3 x2 ) X = 1 xn x1 xn x1 xn x2 xn x1 xn xn 1 1 x x x x x x x x x x x x x x ( )( ) ( ) ( ) ( )( ) ( ) ( ) ( ) ( ) n+ 1 1 n+ 1 1 n+ 1 2 n+ 1 1 n+ 1 n 1 n+ 1 1 n+ 1 n a a oraz y są wektorai kolunowyi., Równanie (5) należy rozwiązać znajdując wartości współczynników zawarte w wektorze a. 1
1. Napisz w Matlabie funkcję o nazwie interpolacja1, która będzie tworzyć acierz X na podstawie wartości x i danych w wektorze x. Początek funkcji: function DX = interpolacja1(x). Wywołaj w Coand Window powyższą funkcję, przyjując wartości x i z tabelki na stronie 3. 2. Z równania (5) wyznacz współczynniki a i przyjując wartości x i oraz y i z tabelki na stronie 3. 3. Napisz w Matlabie funkcję o nazwie interpolacja2, która będzie obliczać wartości współczynników funkcji interpolacyjnej b i na podstawie wartości a i oraz x i. Początek funkcji: function B = interpolacja2(a,x). 4. Napisz w Matlabie funkcję interpolacja3, która na podstawie danych wartości x i oraz b i obliczy wartości funkcji interpolacyjnej w zadany przedziale i stworzy jej wykres. 5. Napisz w Matlabie funkcję o nazwie interpolacja, która będzie korzystać z funkcji interpolacja1, interpolacja2, interpolacja3 oraz dowolnej funkcji rozwiązującej układ równań i na podstawie danych wartości y i oraz x i obliczy współczynniki interpolacji i przedstawi funkcję na wykresie. Początek funkcji: function B = interpolacja(x,y). DX = interpolacja1(x);. a = uklad_rownan(dx,y); B = interpolacja2(a,x); Aproksyacja Cele aproksyacji jest przybliżenie funkcji f(x) zwanej funkcją aproksyowaną, inną funkcją Q(x) zwaną funkcją aproksyującą. Obie funkcje f(x) i Q(x), są określone w ty say obszarze, przy czy funkcja aproksyowana jest bardzo często znana w postaci dyskretnej, np. z poiarów. Dobór odpowiedniej funkcji aproksyującej najczęściej sprowadza się do wyznaczenia wartości współczynników a j wieloianu: (7) Q( x) a q ( x) = j j, j= w który q j są funkcjai bazowyi. Dane poiarowe są zwykle obarczone błędai, zate aproksyacja a na celu przybliżenie danych za poocą funkcji aproksyującej w sposób najlepszy według przyjętego kryteriu. Najczęściej stosuje się kryteriu najniejszych kwadratów. Aproksyacja średniokwadratowa Aproksyacja średniokwadratowa zapewnia iniu nory różnicy funkcji f(x) i Q(x). Zadanie aproksyacji sprowadza się zate do takiego doboru współczynników funkcji aproksyującej aby zinializować błąd wyrażony wzore: n S = f ( xi ) Q( xi ), (8) [ ] 2 i= gdzie x i (dla i =, 1, 2, n) to punkty poiarowe, f(x i ) = y i jest zbiore znanych wartości funkcji (n+1 danych poiarowych), a Q(x i ) jest zbiore wartości funkcji aproksyującej. Realizacja aproksyacji zależy od tego jakie funkcje będą przyjęte jako bazowe. 2
Aproksyacja średniokwadratowa wieloianowa Przyjujey funkcję aproksyacyjną (równanie 7) w postaci wieloianu rzędu : (9) Q( x) j = a j x, j= oraz definiujey błąd: (1) n j 2 ( i j i ). i= j= S = y a x Z warunku koniecznego na ekstreu funkcji wielu ziennych, przyrównując pochodne do zera, otrzyay układ równań liniowych o niewiadoych współczynnikach a, a 1, a 2, a, który ożna przedstawić w postaci acierzowej: (11) 2X T Xa 2X T y = gdzie X jest acierzą utworzoną z funkcji bazowych dla wszystkich wartości x i, a jest wektore kolunowy niewiadoych współczynników, a y jest wektore kolunowy znanych wartości funkcji. W każdy i-ty wierszu (dla i =, 1, 2, n) acierzy X są uieszczone wartości wszystkich funkcji bazowych dla jednego punktu poiarowego x i. Macierz X a zate n+1 wierszy oraz +1 kolun: (12) 2 3 1 1 2 3 1 1 2 3 1 X = 1 2 3 1 1 x x x x x 1 1 1 1 1 2 2 2 2 2 n n n n n, Rozwiązanie zadania jest wektor współczynników a: (13) a = (X T X) -1 X T y. 6. Wykonaj wykres dla danych w tabeli powyżej. x -2-1 1 2 3 y 21 1-1 2 7 12 7. Przyjując funkcję aproksyującą w postaci wieloianu drugiego stopnia: Q(x) = ax 2 + bx + c znajdź wartości współczynników a, b oraz c. 8. Wykonaj wykres dla funkcji Q(x), dla innych, niż podane w tabeli, wartości x. Aproksyacja w przestrzeni dwuwyiarowej Jako przykład aproksyacji w dziedzinie 2D rozpatrzyy aproksyację stosowaną w etodzie eleentów skończonych (MES). Metoda eleentów skończonych jest używana do nuerycznego rozwiązywania równań różniczkowych cząstkowych w różnych dziedzinach i zagadnieniach techniki. W elektrotechnice stosuje się ją.in. do obliczania rozkładu pól elektrostatycznych, gdzie poszukuje się wartości skalarnego potencjału elektrycznego V. W etodzie tej obszar obliczeń zostaje podzielony na eleenty skończone, któryi ogą być np. trójkąty (Rys. 1). Podział obszaru prowadzi do powstania siatki eleentów skończonych. Punkty przecięcia linii siatki nazyway węzłai. 3
Zakładając, że wartości funkcji V są znane w węzłach, wartości potencjału elektrycznego wewnątrz eleentu aproksyujey funkcją V(x, y) o następującej postaci: (14) V(x, y) = a + bx + cy Współczynniki aproksyacji: a, b, c określa się na podstawie wartości funkcji w węzłach (1, 2, 3), zate dla każdego z nich równanie (14) jest również spełnione. Zapisując równanie (14) dla węzłów 1, 2, 3 otrzyuje się układ równań (15), z którego ożna wyznaczyć współczynniki aproksyacji: Rys. 1 Eleent o węzłach 1, 2, 3. (15) (16) Znając wartości funkcji w węzłach ożna obliczyć współczynniki a, b, c i aproksyowane wartości szukanego potencjału w dowolny punkcie wewnątrz eleentu z równania (14). W ten sposób zadanie polegające na obliczeniu rozkładu pola elektrycznego w dany obszarze ożna zredukować do znalezienia wartości potencjału w węzłach siatki i określenia funkcji aproksyującej, zaiast poszukiwania rozwiązania w postaci funkcji ciągłej V(x, y) w cały obszarze. 9. Napisz funkcję, która będzie obliczać wartość potencjału w dowolny punkcie wewnątrz eleentu, na podstawie wartości współczynników aproksyacji (równanie 14). Arguentai funkcji będą współrzędne punktu (x, y) i wartości współczynników aproksyacji (a, b, c). 1. Napisz funkcję, która będzie obliczać wartości współczynników aproksyacji dla danego eleentu, na podstawie wartości potencjałów w węzłach tego eleentu (równanie 16). Arguentai funkcji będą współrzędne węzłów (x 1, x 2, x 3, y 1, y 2, y 3 ) i wartości potencjału w węzłach (V 1, V 2, V 3 ). Całkowanie nueryczne 11. Napisz funkcję, która będzie obliczać wartość całki dla danych wartości x oraz y. Do zdefiniowania całki wykorzystaj definicję znaną z ateatyki. 4
Zagadnienia na wejściówkę na następne ćwiczenia 1. Różniczkowanie nueryczne Dana jest funkcja y = f(x), która jest iloczyne dwóch funkcji podstawowych (wieloian, funkcje trygonoetryczne, funkcja eksponencjalna, pierwiastek z x, ułaek z x w ianowniku). - jak definiuje się pochodną funkcji? - wyznacz pochodną z danej funkcji, - oblicz pochodną w punktach x 1, x 2, x 3, - napisz w MATLABie funkcję różniczkującą (zacznij np. tak: function d = derivative(x,y) ) - korzystając z napisanej funkcji oblicz pochodną w wybranych punktach i przedstaw wykres pochodnej z funkcji. 2. Nueryczne etody rozwiązywania równań różniczkowych zwyczajnych Obwód złożony z kilku rezystorów i jednej indukcyjności jest załączany do źródła napięcia stałego E. - napisz równanie różniczkowe dla tej sytuacji, - oblicz warunek początkowy prąd na indukcyjności, - oblicz prąd występujący na indukcyjności w stanie ustalony (po ustaniu procesów przejściowych) - oblicz prąd i(t) w stanie przejściowy - przedstaw wykres prądu w funkcji czasu. - napisz jak rozwiązać zadanie etodą Eulera 5