Interpolacja funkcjami sklejanymi

Podobne dokumenty
Aproksymacja funkcji metod najmniejszych kwadratów

det A := a 11, ( 1) 1+j a 1j det A 1j, a 11 a 12 a 21 a 22 Wn. 1 (Wyznacznik macierzy stopnia 2:). = a 11a 22 a 33 +a 12 a 23 a 31 +a 13 a 21 a 32

Ukªady równa«liniowych

1 Metody iteracyjne rozwi zywania równania f(x)=0

Metody numeryczne i statystyka dla in»ynierów

Informacje pomocnicze

ANALIZA MATEMATYCZNA Z ALGEBR

Równania ró»niczkowe I rz du (RRIR) Twierdzenie Picarda. Anna D browska. WFTiMS. 23 marca 2010

Metody dowodzenia twierdze«

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Macierze i Wyznaczniki

Zagadnienia na wej±ciówki z matematyki Technologia Chemiczna

ELEMENTARNA TEORIA LICZB. 1. Podzielno±

Ukªady równa«liniowych - rozkªady typu LU i LL'

Macierze. 1 Podstawowe denicje. 2 Rodzaje macierzy. Denicja

Czy funkcja zadana wzorem f(x) = ex e x. 1 + e. = lim. e x + e x lim. lim. 2 dla x = 1 f(x) dla x (0, 1) e e 1 dla x = 1

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

Analiza numeryczna Kurs INP002009W. Wykłady 6 i 7 Rozwiązywanie układów równań liniowych. Karol Tarnowski A-1 p.

Funkcja kwadratowa, wielomiany oraz funkcje wymierne

Macierze i Wyznaczniki

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

1 Przypomnienie wiadomo±ci ze szkoªy ±redniej. Rozwi zywanie prostych równa«i nierówno±ci

Macierze. Dziaªania na macierzach. 1. Niech b d dane macierze , D = , C = , B = 4 12 A = , F = , G = , H = E = a) Obliczy A + B, 2A 3B,

x y x y x y x + y x y

Janusz Adamowski METODY OBLICZENIOWE FIZYKI Zastosowanie eliptycznych równa«ró»niczkowych

LZNK. Rozkªad QR. Metoda Householdera

Rozdziaª 13. Przykªadowe projekty zaliczeniowe

PRZYPOMNIENIE Ka»d przestrze«wektorow V, o wymiarze dim V = n < nad ciaªem F mo»na jednoznacznie odwzorowa na przestrze«f n n-ek uporz dkowanych:

Ciaªa i wielomiany. 1 Denicja ciaªa. Ciaªa i wielomiany 1

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Rozwi zanie równania ró»niczkowego metod operatorow (zastosowanie transformaty Laplace'a).

Zdzisªaw Dzedzej, Katedra Analizy Nieliniowej pok. 611 Kontakt:

Metody numeryczne i statystyka dla in»ynierów

Wielomiany. El»bieta Sadowska-Owczorz. 19 listopada 2018

Elementy geometrii w przestrzeni R 3

Zaawansowane metody numeryczne

Wybrane poj cia i twierdzenia z wykªadu z teorii liczb

Liniowe równania ró»niczkowe n tego rz du o staªych wspóªczynnikach

Podstawy matematyki dla informatyków

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.

Interpolacja Lagrange'a, bazy wielomianów

Algorytmy zwiazane z gramatykami bezkontekstowymi

Twierdzenie Wainera. Marek Czarnecki. Warszawa, 3 lipca Wydziaª Filozoi i Socjologii Uniwersytet Warszawski

Funkcje wielu zmiennych

Wielomiany o wspóªczynnikach rzeczywistych

Funkcje wielu zmiennych

Funkcje, wielomiany. Informacje pomocnicze

Matematyka 1. Šukasz Dawidowski. Instytut Matematyki, Uniwersytet l ski

Metodydowodzenia twierdzeń

Zbiory i odwzorowania

1 Bª dy i arytmetyka zmiennopozycyjna

Proste modele o zªo»onej dynamice

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Liniowe zadania najmniejszych kwadratów

Metody numeryczne i statystyka dla in»ynierów

Caªkowanie numeryczne - porównanie skuteczno±ci metody prostokatów, metody trapezów oraz metody Simpsona

AM II /2019 (gr. 2 i 3) zadania przygotowawcze do I kolokwium

Zadania z z matematyki dla studentów gospodarki przestrzennej UŠ. Marek Majewski Aktualizacja: 31 pa¹dziernika 2006

X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne)

A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.

Funkcje wielu zmiennych

Zadania. 4 grudnia k=1

Materiaªy do Repetytorium z matematyki

Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.

Rozwiązywanie układów równań liniowych

Kolokwium Zadanie 1. Dla jakich warto±ci parametrów a i b funkcja sklejona

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

punkcie. Jej granica lewostronna i prawostronna w punkcie x = 2 wynosz odpowiednio:

XVII Warmi«sko-Mazurskie Zawody Matematyczne

Przeksztaªcenia liniowe

3. (8 punktów) EGZAMIN MAGISTERSKI, Biomatematyka

Szybkie mno»enie wielomianów i macierzy

2. L(a u) = al( u) dla dowolnych u U i a R. Uwaga 1. Warunki 1., 2. mo»na zast pi jednym warunkiem: L(a u + b v) = al( u) + bl( v)

Informacje pomocnicze:

Przekroje Dedekinda 1

Wektory w przestrzeni

Matematyka dyskretna dla informatyków

1. Przedstaw w postaci algebraicznej liczby zespolone: 2. Narysuj zbiory punktów na pªaszczy¹nie:

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Liczby zespolone Pochodna Caªka nieoznaczona i oznaczona Podstawowe wielko±ci zyczne. Repetytorium z matematyki

Statystyka matematyczna - ZSTA LMO

Numeryczne zadanie wªasne

Liczenie podziaªów liczby: algorytm Eulera

Zadania z analizy matematycznej - sem. II Ekstrema funkcji wielu zmiennych, twierdzenia o funkcji odwrotnej i funkcji uwikªanej

Lab. 02: Algorytm Schrage

Opis matematyczny ukªadów liniowych

Legalna ±ci ga z RRI 2015/2016

CAŠKA NIEOZNACZONA. Politechnika Lubelska. Z.Šagodowski. 18 lutego 2016

Ekstremalnie fajne równania

Funkcje jednej zmiennej. Granica, ci gªo±. (szkic wykªadu)

Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych

Semestr letni 2014/15

01.Wprowadzenie do pakietu MATLAB

Zadania z analizy matematycznej - sem. II Rachunek ró»niczkowy funkcji wielu zmiennych

1 a + b 1 = 1 a + 1 b 1. (a + b 1)(a + b ab) = ab, (a + b)(a + b ab 1) = 0, (a + b)[a(1 b) + (b 1)] = 0,

Biostatystyka, # 5 /Weterynaria I/

Metody Informatyczne w Budownictwie Metoda Elementów Skoczonych ZADANIE NR 1

Obliczenia naukowe Wykład nr 8

Uczenie Wielowarstwowych Sieci Neuronów o

Transkrypt:

Interpolacja funkcjami sklejanymi Funkcje sklejane: Zaªó»my,»e mamy n + 1 w zªów t 0, t 1,, t n takich,»e t 0 < t 1 < < t n Dla danej liczby caªkowitej, nieujemnej k funkcj sklejan stopnia k nazywamy tak funkcj S która: 1 W ka»dym z przedziaªów [t i, t i+1 ) (0 i n 1) jest wielomianem co najwy»ej rz du k, 2 Ma ci gª (k 1)-sz pochodn w przedziale [t 0, t n ] Funkcje sklejane stopnia trzeciego: Funkcja taka musi speªnia nast puj ce warunki: 1 S i 1 (t i ) = y i = S i (t i ) (1 i n) - warunek ten zapewnia ci gªo± funkcji S i pokrywanie si jej z w zªami, 2 S i 1 (t i) = S i (t i) (1 i n 1) - ci gªo± pierwszej pochodnej, 3 S i 1 (t i) = S i (t i) (1 i n 1) - ci gªo± drugiej pochodnej W ka»dym z przedziaªów funkcja b dzie miaªa nast puj c posta : S k (x) = S k,0 + S k,1 x + S k,2 x 2 + S k,3 x 3 k = 0, 1, 2,, n 1 x [t k, t k+1 ] Aby jednoznacznie okre±li tak funkcj musimy wyznaczy cztery wspóªczynniki Poniewa» takich krzywych jest n to mamy 4n niewiadomych Z pierwszego przytoczonego warunku otrzymamy 2n równa«z drugiego i trzeciego po 2n 1 równa«wynika st d,»e mamy 4n 2 równania Zostaj dwa stopnie swobody, które mo»na wyzyska na ró»ne sposoby Cz sto przyjmuje si,»e S (t 0 ) = S (t n ) = 0 lub okre±la si pochodne na ko«cach przedziaªu np S (t 0 ) = 0 i S (t n ) = 0 Wprowad¹my oznaczenia: z i = S (t i ), = t i+1 t i Poniewa», S k (x) jest funkcj stopnia co najwy»ej trzeciego, to S k (x) jest funkcj liniow Mo»emy wi c zapisa : S i (x) = z i (t i+1 x) + z i+1 +1 (x t i ) Caªkuj c dwukrotnie obie strony tej równo±ci otrzymujemy wzór na wielomian S i (t i+1 x) 3 + z i+1 (x t i ) 3 + C(x t i ) + D(t i+1 x) gdzie C i D s staªymi caªkowania, które wynikaj z warunków interpolacyjnych S i (t i ) = y i, S i (t i+1 ) = y i+1 Ostatecznie: (t i+1 x) 3 + z i+1 (x t i ) 3 + ( y i+1 z i+1 )(x t i ) + ( y i z i )(t i+1 x) Aby wyznaczy nieznane warto±ci z i ró»niczkujemy powy»szy wielomian i podstawiamy x = t i : Korzystaj c z warunku 2 otrzymujemy: S i (t i) = hi 3 z i hi z i+1 yi + yi+1 S i 1 (t i) = hi 1 z i 1 + hi 1 3 z i yi 1 1 + yi 1

1 z i 1 + 2( 1 + ) + z i+1 = (y i+1 y i ) 1 (y i y i 1 ) (1 i n 1) Przyjmijmy oznaczenia: u i = 2( 1 + ), b i = (y i+1 y i ), v i = b i b i 1 Zakªadaj c dodatkowo,»e z 0 = z n = 0, otrzymujemy ukªad równa«: u 1 h 1 z 1 v 1 h 1 u 2 h 2 z 2 v 2 = h n 3 u n 2 h n 2 h n 2 u n 1 z n 2 z n 1 v n 2 v n 1 Ukªad ten mo»na rozwi za metod eliminacji Gaussa lub rozkªadem LU Po obliczeniu warto±ci z 0, z 1,, z n mo»na znale¹ warto±ci funkcji sklejanej S w dowolnym punkcie x W tym celu najpierw nale»y wyznaczy do którego z przedzaiaªów (, t 1 ), [t 1, t 2 ),, [t n 2, t n 1 ), [t n 11, ) nale»y x Po wyznaczeniu przedziaªu stosujemy wzór: [ ] (t i+1 x) 3 (t i+1 x) z i+1 [ ] (t i x) 3 (t i x) + y i(t i+1 x) y i+1 (t i x) Rozkªad LU: Rozwa»my ukªad n równa«liniowych z n niewiadomymi a 11 a 12 a 1n x 1 a 21 a 22 a 2n x 2 = a n1 a n2 a nn x n b 1 b 2 b n Ax = b Przypu± my,»e macierz A mo»na wyrazi jako iloczyn macierzy trójk tnej dolnej L i trójk tnej górnej U: A = LU Macierze L i U przedstawiaja si nast puj co: l 11 0 0 u 11 u 12 u 1n L = l 21 l 22 0 U = 0 u 22 u 2n l n1 l n2 l nn 0 0 u nn Wtedy rozwi zanie ukªadu równa«ax = b dzieli si na dwa etapy: Lz = b Ux = z Jest to prostsze poniewa» ka»dy ukªad zawiera macierz trójk tn Je±li istniej macierze L i U takie,»e A = LU, to mówimy,»e A ma rozkªad LU Rozkªad taki nie jest jednoznaczny Dla ka»dego i mo»emy wybra dowoln warto±, ró»n od zera dla jednej z liczb l ii lub u ii ( ale nie dla obu) Najprostszym wyborem zdaje si by l ii = 1 dla i = 1, 2,, n Wtedy L jest jedynkowa trójk tna dolna Inny prosty wybór to u ii = 1 dla ka»dego i wtedy U jest jedynkowa trójk tna górna Aby wyznaczy elementy macierzy L i U zaczynamy od wzoru na mno»enie macierzy:

n a ij = l is u sj Wykorzystuj c wªasno±ci macierzy L i U: l is = 0 dla s > i oraz u sj otrzymujemy: = 0 dla s > j a ij = min(i,j) l is u sj W ka»dym kolejnym etapie oblicze«b dziemy wyznaczali jeden nowy wiersz macierzy U i jedn now kolumn macierzy L W k-tym kroku mo»emy wi c zaªo»y,»e znamy ju» pocz tkowych k 1 wierszy macierzy U i tyle samo kolumn macierzy L: a kk = l ks u sj + l kk u kk Poniewa» ustalili±my jeden z elementów u kk lub l kk, to mo»emy wyznaczy drugi z nich Znaj c go mo»emy obliczy k-ty wiersz macierzy U i k-t kolumne macierzy L: a kj = l ks u sj + l kk u kj a ik = l is u sk + l ik u kk k + 1 j n k + 1 i n Skrypt 1: function k = splinecurv(xdata, ydata) % Zwraca wartosc drugich pochodnych w wezlach % dane wejsciowe: xdata - wspolrzedne x wezlow, % ydata - wspolrzedne y wezlow n = length(xdata); c = zeros(n-1, 1); d = ones(n,1); e = zeros(n-1,1); k = zeros(n,1); c(1:n-2) = xdata(1:n-2) - xdata(2:n-1); d(2:n-1) = 2*(xData(1:n-2) - xdata(3:n); e(2:n-1) = xdata(2:n-1) - xdata(3:n); k(2:n-1) = *(ydata(1:n-2)-ydata(2:n-1))/(xdata(1:n-2)-xdata(2:n-1)) - *(ydata(2:n-1)-ydata(3:n))/(xdata(2:n-1)-xdata(3:n)); [c,d,e] = LUdec3(c,d,e); k = LUsol3(c,d,e,k); Skrypt 2: function y = splineeval(xdata,ydata,k,x) % Zwraca wartosc funkcji interpolujacej w x % dane wejsciowe: xdata - wspolrzedne x wezlow, % ydata - wspolrzedne y wezlow, % dane wyjsciowe: k - wartosci drugich pochodnych w wezlach i = findseg(xdata,x); h = xdata(i) - xdata(i+1);

y = ((x - xdata(i+1))^3/h - (x - xdata(i+1))*h)*k(i)/0 - ((x - xdata(i))^3/h - (x - xdata(i))*h)*k(i+1)/0 + ydata(i)*(x - xdata(i+1))/h - ydata(i+1)*(x - xdata(i))/h; Skrypt 3: function i = findseg(xdata,x) % Zwraca numer przedzialu w ktorym znajduje sie x ileft = 1; iright = length(xdata); while 1 if (iright - ileft) <= 1 i = ileft; return i = fix((ileft + iright)/2); if x < xdata(i) iright = i; else ileft = i; Skrypt 4: function [c,d,e] = LUdec3(c,d,e) % Dekompozucja na macierz LU macierzy trojdiagonalnej A = [c\d\e] n = length(d); for k = 2:n lambda = c(k-1)/d(k-1); d(k) = d(k) - lambda * e(k-1); c(k-1) = lambda; Skrypt 5: function x = LUsol3(c,d,e,b) % Rozwiazuje uklad A*x=b, gdzie A=[c/d/e] jest dekompozycja LU % oryginalnej trojdiagonalnej macierzy A n = length(d); for k = 2:n b(k) = b(k) - c(k-1)*b(k-1); b(n) = b(n) / d(n); for k = n-1:-1:1 b(k) = (b(k) - e(k) * b(k+1)) / d(k); x = b

Zadanie: Wyznacz przybli»enie funkcji y = x w przedziale <-1,1> przy u»yciu metody interpolacji funkcjami sklejanymi w oparciu o 7 równoodlegªych w zªów Rozwizanie w programie MATLAB: clc xdata = linspace(-1,1,7); ydata = abs(x); k = splinecurv(x,y); xx = linspace(-1,1,101); for i = 1:101 yy(i) = splineeval(xdata,ydata,k,xx(i)); plot(xdata,ydata,'r*',xx,yy);