Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Interpolacja funkcji Dane wartości funkcji y n w punktach x n, gdzie n=0,1,2,....N-1. x y x0x0 y0y0 xnxn ynyn x N-1 y N-1.

Podobne prezentacje


Prezentacja na temat: "Interpolacja funkcji Dane wartości funkcji y n w punktach x n, gdzie n=0,1,2,....N-1. x y x0x0 y0y0 xnxn ynyn x N-1 y N-1."— Zapis prezentacji:

1

2 Interpolacja funkcji Dane wartości funkcji y n w punktach x n, gdzie n=0,1,2,....N-1. x y x0x0 y0y0 xnxn ynyn x N-1 y N-1

3 Interpolacja wielomianowa Twierdzenie Istnieje dokładnie jeden wielomian stopnia co najwyżej N (N>=0), który w punktach x 0, x 1,...,x N-1 przyjmuje wartości y 0,y 1,...,y N-1. Wzór interpolacyjny Lagrange'a: gdzie jest wielomianem stopnia co najwyżej N.

4 Z warunku interpolacyjnego: powyższy układ N równań można najprościej rozwiązać przyjmując dla wielomianów k (x) następujące warunki : jako wielomian k (x) należy wybrać taki, który ma miejsca zerowe we wszystkich punktach interpolacji z wyjątkiem punktu x k, w którym funkcja ma wartość 1 Rozwiązaniem jest wielomian :

5 z warunku: otrzymuje się: Wielomian Lagrange'a przyjmuje postać: Ocena błędu interpolacji:

6 Przykład 1. Zbudować wielomian interpolacyjny dla funkcji exp(x) w przedziale [1,2] bazując na 5 węzłach interpolacyjnych. Wybierzmy węzły równomiernie czyli

7 mamy: xixi 1.01.251.501.752.0 yiyi 2.718283.490344.481695.75467.38906 Wielomian Lagrangea jest:

8 lub Wyniki obliczeń przedstawiono na wykresie:

9 Dla lepszej oceny wykres błędu względnego:

10

11 Przykład 2. W wyniku pomiarów zdjęto pierwotną krzywą magnesowania B=F(H). Zbudować wielomian interpolacyjny Lagrange'a dla zakresu 0<=H <=3000A/m. H[A/m]050 1002005001000150020003000 B[T]00.751.51.81.952.02.022.032.035 Kolejne wielomiany k (H) dla k=0,1,...8 są: lub po obliczeniu mianownika mamy:

12

13 i wielomian aproksymacyjny jest lub

14 Otrzymany wynik jest niemożliwy do przyjęcia!!!

15 Interpolacja liniowa odcinkami: H[A/m]050 1002005001000150020003000 B[T]00.751.51.81.952.02.022.032.035 dla lub po wykonaniu działań: dla i podobnie: dla

16

17 B(H)

18 Porównanie Ba(H) – interpolacja liniowa B(H) – wielomian 8-go stopnia

19 Funkcje sklejane (spline) Dane wartości funkcji y n w punktach x n, gdzie n=0,1,2,....N-1. x y a=x 0 y0y0 xkxk ykyk b=x N yNyN przy czym: a=x 0 <x 1 <...<x k <...<x N =b s m (x)

20 Funkcję s m (x) określoną na przedziale [a,b] nazywamy funkcją funkcją sklejaną stopnia m 1, jeżeli: 1.s m (x) jest funkcją co najwyżej stopnia m na każdym z podprzedziałów [x k,x k+1 ] gdzie k=0,1,...,N-1 2.funkcja s m (x) posiada ciągłą pochodną do rzędu m-1 w przedziale [a,b]. Najpowszechniej stosowane funkcje sklejane 3-go stopnia. Z drugiego warunku wynika, że funkcja s 3 (x) musi mieć ciągłą drugą pochodną w przedziale [a,b].

21 Niech: dla k=0,1,...,N Druga pochodna będzie ciągła, jeżeli dla przedziału [x k,x k+1 ] przyjmiemy: oraz k=0,1,...,N-1 gdzie Całkując mamy:

22 i całkując pierwszą pochodną mamy: Z warunków interpolacji mamy: Dla każdego z N przedziałów piszemy:

23 ale czyli możemy zapisać: stąd mamy: i

24 Pozostaje tylko zapewnić ciągłość pierwszej pochodnej w węzłach interpolacji x k (k=1,2,...,N-1) czyli mamy N-1 równań: stąd: Biorąc pod uwagę, że i

25 mamy: dla k=1,2,...,N-1 mamy N-1 równań, a niewiadomych M k – N+1. Potrzebne dwa dodatkowe równania, które przyjmuje się w jednej z trzech postaci: 1.Dana jest pochodna funkcji w punkcie a i b czyli:

26 2. Dana jest druga pochodna na obu końcach przedziału, czyli: 3. Funkcja jest okresowa o okresie b-a i wtedy mamy: W przypadku 1 mamy więc: lub

27 i podobnie dla drugiego końca przedziału mamy: lub i otrzymujemy układ N+1 równań: dla k=1,2,...,N-1

28 Dla drugiego typu warunków mamy: czyli z definicji: wynika, żei i N-1 równań: dla k=1,2,...,N-1 Zapiszemy otrzymane równania w postaci wygodniejszej do obliczeń:

29 Takie układy rozwiązujemy techniką wymiatania. Niech Podstawiając do drugiego równania i wyznaczając M 1 mamy:

30 lub oznaczając: możemy zapisać w postaci: Wyznaczmy związek rekurencyjny spełniany przez L k i K k. Zakładając, że i podstawiając do k-go równania mamy: i oznaczając:

31 mamy: a więc współczynniki L k,K k potrafimy wyznaczyć z zależności rekurencyjnej: jeżeli znamy wartości startowe L 1, K 1.

32 Ale porównując: z pierwszym równaniem: mamy: i i na podstawie związku rekurencyjnego: wyznaczmy kolejno dla k=1,2,...N-1

33 Ostatnie równanie przyjmuje postać: i podstawiając do ostatniego równania: mamy:

34 Znając M N wyznaczamy ze wzoru: kolejne M k przyjmując k=N-1,N-2,...,0 Przykład: Dane są wartości funkcji: x00.314160.628320.942481.256641.5708 y00.309020.587790.809020.951061 i jej pierwsze pochodne:

35 Współczynniki M 0, M 1, M 2, M 3, M 4, M 5 wyznaczamy z układu równań: dla k=1,2,3,4 gdzie ze względu na równomierny podział mamy: i podstawiając dane mamy:

36 Z pierwszego równania mamy:i i na mocy związku rekurencyjnego:

37 Z ostatniego równania mamy: i ze związku rekurencyjnego: wyznaczamy: a następnie stałe A k i B k ze wzorów: i k=0,1,2,3,4

38 i ostatecznie mamy:

39

40

41 Błąd względny

42 B – funkcje sklejane (B – spline) Podział przedziału [a,b] jest równomierny, czyli Funkcja sklejana s 3 (x) jest przyjmowana w postaci: gdzie funkcje B k (x) tworzą bazę przestrzeni s 3 (x) i mają postać:

43 x y a=x 0 y0y0 x k =k ykyk b=N yNyN s m (x)

44 x B k (x) xkxk x k-1 x k-2 x k-3 x k+1 x k+2 x k+3

45 x k-2 x k-1 xkxk x k+1 x k+2 B k (x)01410 0 3/ 0 - 3/ 0 0 6/ 2 -12/ 2 6/ 2 0 Na mocy tabeli w węzłach interpolacji mamy: k=0 k=1............................................... k=i................................................. k=N Mamy N+1 równań i N+3 niewiadomych. Dwa dodatkowe równania z warunków brzegowych.

46 Dla warunku pierwszego rodzaju: mamy na mocy tablicy – pierwsze równanie: i ostatnie równanie: Dla warunku drugiego rodzaju: mamy na mocy tablicy – pierwsze równanie:

47 i ostatnie równanie: Dla warunku trzeciego rodzaju: równanie: i ostatnie: mają identyczne prawe strony, gdyż ze względu na okresowość y 0 =y N i dlatego zamiast ostatniego równania piszemy: i pozostałe dwa warunki dają równania:

48 Rozwiązując powyższe trzy równania mamy: a więc układ równań przyjmuje postać: k=0 k=1............................................... k=i................................................. k=N-1 Jak rozwiązać otrzymany układ równań metodą wymiatania pokażemy na przykładzie

49 Dana jest elipsa o równaniu: lub w postaci tablicy: k012345 x54.924044.698463.830222.50 y00.173650.342020.642790.866031 k678910 x-2.5-3.83022-4.69846-4.92404-5 y0.866030.642790.342020.173650

50 k1112131415 x-4.92404-4.69846-3.83022-2.50 y-0.17365-0.34202-0.64279-0.866031 k1617181920 x2.53.830224.698464.924045 y-0.86603-0.64279-0.34202-0.173650 Interpolację krzywej zamkniętej możemy wykonać przyjmując przedstawienie parametryczne: i i mamy układ równań:

51 Rozwiązanie metodą wymiatania: Podstawiając do k-go równania: mamy:

52 ale i porównując z mamy wzory rekurencyjne: i Wartości startowe L 1, A 1 i B 1 wyznaczamy porównując wzór: z pierwszym równaniem: mamy: L 1 =-0.25, B 1 =-0.25 i A 1 =1.25

53 i z dokładnością do 5 cyfr mamy: L 2 =-0.26667 L 3 =-0.26786 L 4 =-0.26794 L 5 =L 6 =...=L 19 =-0.26795 B 2 =0.066667 B 15 =-2.44585e-9 B 3 =-0.017857 B 16 =6.55364e-10 B 4 =4.78469e-3 B 17 =-1.75604e-10 B 5 =-1.28205e-3 B 18 =4.7053e-11 B 6 =3.43525e-4 B 19 =-1.26078e-11 B 7 =-9.20471e-5 B 8 =2.4664e-5 B 9 =-6.60869e-6 B 10 =1.77079e-6 B 11 =-4.74482e-7 B 12 =1.27137e-7 B 13 =-3.40663e-8 B 14 =9.128037e-9 W równaniu B 19 poprawia 4

54 A 2 =0.97974 A 14 =-0.76330 A 3 =0.99608 A 15 =-0.46535 A 4 =0.75939 A 16 =0.12469 A 5 =0.46640 A 17 =0.63646 A 6 =-0.12497 A 18 =0.85576 A 7 =-0.63639 A 19 =1.02965 A 8 =-0.85579 A 9 =-1.02964 A 10 =-1.04350 A 11 =-1.06014 A 12 =-1.03533 A 13 =-0.98153 Podstawiając do równania: mamy: czyli gdzie

55 i zakładając: i podstawiając do związku rekurencyjnego: mamy: gdzie dla k=18,17,...,0 ze startowymi C 19, D 19 z zależności: i

56 C 19 =1.04350 D 19 =-0.26795 C 4 =0.46504 D 4 =3.70097e-4 C 18 =0.75004 D 18 =0.07180 C 3 =0.63978 D 3 =-1.38122e-3 C 17 =0.65479 D 17 =-0.01924 C 2 =0.80608 D 2 =5.15478e-3 C 16 =0.46101 D 16 =5.15478e-3 C 1 =0.83436 D 1 =-0.01924 C 15 =1.16148e-3 D 15 =-1.38122e-3 C 0 =0.78054 D 0 =0.07180 C 14 =-0.46566 D 14 =3.70097e-4 C 13 =-0.63853 D 13 =-9.91696e-5 i z równania: C 12 =-0.81044 D 12 =2.65816e-5 C 11 =-0.81817 D 11 =-7.15657e-6 C 10 =-0.84091 D 10 =2.04473e-6 mamy: C 9 =-0.81818 D 9 =-1.02237e-6 C 8 =-0.81042 D 8 =2.04473e-6 C 7 =-0.63861 D 7 =-7.15657e-6 czyli a 0 =a 20 =0.84091 C 6 =-0.46537 D 6 =2.65816e-5 C 5 =8.33928e-5 D 5 =-9.91696e-5

57 i ze związku rekurencyjnego: mamy: dla k=1,2,...,19 a 1 =a 21 =0.81818 a 13 =-0.63861 a 2 =0.81042 a 14 =-0.46535 a 3 =0.63861 a 15 =0.00000 a 4 =0.46535 a 16 =0.46535 a 5 =-0.00000 a 17 =0.63861 a 6 =-0.46535 a 18 =0.81042 a 7 =-0.63861 a -1 =a 19 =0.81818 a 8 =-0.81042 a 9 =-0.81818 a 10 =-0.84091 a 11 =-0.81818 a 12 =-0.81042

58 x(s) x d (s)

59 Równanie krzywej dla współrzędnej x jest: dla parametru Błąd między wielomianem interpolacyjnym a funkcją x(s) definiujemy:

60

61 y(s) y d (s)

62 x(s),x d (s) y(s) y d (s) elipsa otrzymana w rezultacie interpolacji i dokładna

63 Aproksymacja Dążenie do minimalizacji normy. Przykłady stosowanych norm:

64 Zadanie aproksymacji polega na minimalizacji normy: Niech i dane są wartości funkcji : w punktach i=0,2,...P. Niech będzie zastosowana norma z wagą: i szukamy minimum sumy ze względu na współczynniki a n.

65 Przykład: x00.20.50.61 y0.10.20.40.450.4 Przyjmujemy wielomian aproksymujący w postaci: przyjmując funkcję wagową równą jedności otrzymujemy:

66 Szukamy ekstremum funkcji d(a 0,a 1,a 2 ) i przyrównując do zera pierwsze pochodne względem a 0, a 1 i a 2 otrzymujemy: Rozwiązanie powyższych równań ma postać:

67 Interpolacja z wagą Po obliczeniu ekstrmum mamy: a 0 =0.319 a 1 =0.158 a 2 =-0.041 Wielomian aproksymujący jest:

68 x00.20.50.61 y0.10.20.40.450.4 y ap 0.1510.24140.34650.37330.44 1 x 0.5 0 0.2 0.1 0.2 0.4 y y y ap

69 Wielomiany trygonometryczne aproksymacja funkcji okresowej na dyskretnym równoodległym zbiorze punktów: i=0,1,2,..., 2L-1 ciągły: a współczynniki wyznacza się z równania:

70 Różniczkując względem a k otrzymujemy następujące równania dla wyznaczania współczynników: Mamy tożsamości: Na mocy powyższych tożsamości mamy:

71 Podobnie wyznaczamy współczynniki b j z równania: korzystając z tożsamości: otrzymujemy:

72 Szereg zespolony. Dana jest funkcja określona przez podanie jej wartości f n w punktach: gdzie n=0,1,2,...,N-1. Aproksymujemy funkcję wielomianem trygonometrycznym postaci: Otrzymujemy N równań dla wyznaczenia współczynników c k :

73 Rozwiązanie ostatniego układu równań czyli współczynniki c k są określane równaniami: Idea szybkie transformaty Fouriera tzw. FFT Fast Fourier Transform Ponieważ więc Oznaczmy:

74 Zauważmy, że Re Im w=w N+1 w p =w p+N Każda całkowita potęga w leży na okręgu jednostkowym i co więcej jeżeli wykładnik p potęgi w p jest większy od N to punkty się nakrywają. Na tym spostrzeżeniu bazuje FFT.

75 Piszemy: Możemy zapisać w postaci macierzowej: Oznaczając: gdzie Ponieważ w 0 =1 więc nie będziemy pisać zerowej kolumny i wiersza.

76 Dalej mamy związki: czyli a więc wiersze i kolumny: 1 i N-1 2 i N-2.............. k i N-k.............. N/2-1 i N/2+1 dla N parzystych (N-1)2 i (N+1)/2 dla N nieparzystych są sprzężone.

77 W praktyce najczęściej stosowane N=2 M. Jeżeli liczba węzłów interpolacyjnych mniejsza od 2 M, to uzupełniamy zerami. N=8 ww2w2 w3w3 w 4 =-1(w * ) 3 (w * ) 2 w*w* w2w2 w4w4 w6w6 w 8 =1(w * ) 6 (w * ) 4 (w * ) 2 w3w3 w6w6 w9w9 w 12 =-1(w * ) 9 (w * ) 6 (w * ) 3 w4w4 w8w8 w 12 w 16 =1(w * ) 12 (w * ) 8 (w * ) 4 w5w5 w 10 w 15 w 20 =-1(w * ) 15 (w * ) 10 (w * ) 5 w6w6 w 12 w 18 w 24 =1(w * ) 18 (w * ) 12 (w * ) 6 w7w7 w 14 w 21 w 28 =-1(w * ) 21 (w * ) 14 (w * ) 7

78 lub inaczej abcc*c* b*b* a*a* b b*b* 1b b*b* cb*b* a a*a* bc*c* 1 1 1 c*c* ba*a* ab*b* c b*b* b1b*b* b a*a* b*b* c*c* cba dla otrzymania tablicy mnożników wystarczy obliczyć połowę pierwszego wiersza!!! np. a=a r +ia i oraz a * =a r -ia i czyli np. af 1 +a * f 7 =a r (f 1 +f 7 )+ia i (f 1 -f 7 ) i podobnie dla innych operacji.

79 Wykorzystanie przedstawionych uproszczeń pozwala w stosunku do zwykłego algorytmu zawierającego N 2 działań zespolonych zmniejszyć ich liczbę dla N=2 M do 2NM

80 Rozwiązywanie równań algebraicznych f(x)=0 Metoda bisekcji Przykład: x0-0.5-0.25-0.125-0.1875 f(x)-41-1.125-0.0156250.4980450.24308 x-0.21875-0.234375-0.2421875-0.24609375 f(x)0.1145320.04962540.01704450.000721037

81 x-0.2480469-0.24658203-0.2463379-0.2462158 f(x)-0.0074491-0.00132098-0.000299930.00021057 Zaleta metody: Jeżeli pierwiastek istnieje, to go znajdziemy. Wada metody: Duża liczba obliczeń Regula falsi. Założenia: a)funkcja ma w przedziale [a,b] tylko jeden pierwiastek i zachodzi f(a)f(b)<0, b) jest funkcja jest klasy C 2 [a,b], pierwsza i druga pochodna nie zmieniają znaku na przedziale [a,b].

82 Funkcja spełniająca powyższe założenia musi mieć w otoczeniu miejsca zerowego jeden z następujących przebiegów: f(a) a b f(b) x y f(a) a b f(b) x y f(a) a b f(b) x y f(a) a b f(b) x y

83 Przebieg obliczeń metodą regula falsi: x y a b f(a) f(b) x1x1 f(x 1 ) x2x2 analitycznie: ustalamy koniec z warunku f(x 1 )f(a)<0 lub f(x 1 )f(b)<0 Prowadzimy prostą:

84 ale f(x 1 )=0 stąd lub Dla n-tej iteracji mamy b=x n-1 i podstawiając mamy:

85 Ocena błędu dla dostatecznie małego przedziału [x n-1,x n ] można przyjąć jako: Metoda regula falsi jest zbieżna dowolnej funkcji ciągłej na przedziale [a,b]. Poszukiwanie pierwiastka zostaje zakończone jeżeli: Metoda jest wolno zbieżna. Przykład:

86 x0-0.2-0.2366412-0.24423354 f(x)-410.1920.040134270.008497292 Ponieważ f(-1)=-4, a f(x 1 )=0.192, więc stałym punktem będzie x=-1 x-0.245835632-0.24617492-0.246246829 f(x)0.0018003590.0003816030.000080891 x-0.246262072 f(x)0.000017147 w metodzie bisekcji potrzebowaliśmy 14 kroków ocena błędu:

87 Metoda siecznych Przepis: Przykład: x0-0.2-0.247524752-0.246256439 f(x)-410.192-0.0052644810.000040703 w regula falsi potrzeba 8 kroków

88 x-0.24626617 f(x)0.907E-8 w 6-tym kroku Koniecznie trzeba obliczać f(x n ) i jeżeli zaczyna narastać należy zawęzić przedział i powtórzyć obliczenia. Niebezpieczeństwo znalezienia fałszywego pierwiastka. Metoda szybsza niż reguła falsi. abx1x1 Pierwsza iteracja musi startować z punktów spełniających warunek: f(a)f(b)<0

89 Metoda Newtona - Raphsona Niech małe w mamy: Pomijając małe drugiego rzędu 2 mamy, że f(x+ )=0, jeżeli Graficznie: x y xnxn n Równanie prostej stycznej w punkcie x n jest: x n+1

90 Prosta: przechodzi przez zero, czyli y=0, w punkcie x n+1 i mamy: Przykład: x0-0.25-0.246268657-0.246266172 f(x)1-0.015625-0.00001039-0.2E-10 W 3 krokach dokładność osiągana w metodzie siecznych w 5 krokach

91 W obliczeniach numerycznych pochodną najczęściej oblicza się numerycznie: Metoda Newtona – Raphsona jest zbieżna kwadratowo, tzn. Pechowe przypadki: x f(x) x0x0 x1x1 x2x2 rozbieżna Zmniejszyć przedział [x d,x 0 ] xdxd

92 cykl x f(x) x 1 =x 3 =... x 2 =x 4 =... xdxd Budując procedurę należy się zabezpieczyć przed taką możliwością. Wystartować z punktu x 1 znajdującego się bliżej x d Pierwiastki wielokrotne: Przy pierwiastkach wielokrotnych badać funkcję:

93 Pierwiastki zespolone Przykład Szukamy zespolonych pierwiastków metodą Newtona - Raphsona

94 Jako punkt startowy musimy wybrać liczbę zespoloną: x 0 =i gdzie x 2 =-0.50605+1.21289i x 3 =-0.49471+1.32934i x 4 =-0.50119+1.32409i x 5 =-0.500059+1.322855i x 6 =-0.5+1.32275i błąd=-0.00083198+0.00043738i x d =-0.5+1.322288i

95 Układy równań nieliniowych Dany jest układ równań: Dla skrócenia zapisu wprowadzamy oznaczenia: oraz

96 i równanie zapisujemy krótko: Metoda iteracji prostej Równanie: zapisujemy w postaci: i procedura iteracji prostej ma postać: Stosowana szczególnie w przypadkach jeżeli mamy dobre przybliżenie początkowe. Sytuacja taka występuje np. w przypadku małej zmiany parametrów równania.

97 Przykład: którego rozwiązaniem jest: x 1 =1; y 1 =0 oraz x 2 =-1; y 2 =0 Szukamy rozwiązania układu po małej zmianie parametrów: mamy schemat iteracyjny: Jako startowy punkt wybieramy: x 0 =1; y 0 =0 i mamy:

98 n01234 xnxn 10.97468 0.961834 ynyn 000.157718 0.193006 n5678 xnxn 0.955379 0.95215090.952151 ynyn 0.1930060.208347 0.2155736 n9101112 xnxn 0.95054090.9505410.94973890.949739 ynyn 0.21557340.219079940.21907970.2208036

99 Z przedstawionych obliczeń widać, że metoda jest wolno zbieżna i dlatego stosowana tylko w przypadkach, gdy znamy bardzo dobrze zerowe przybliżenie. Zastosowanie w równaniach różniczkowych. Metoda Newtona - Raphsona Rozwijamy funkcję f k (X) w szereg Taylora w otoczeniu punktu X i :

100 Dla uproszczenia zapisu wprowadzamy macierz Jacobiego zdefiniowaną następująco:

101 i w postaci macierzowej możemy krótko zapisać układ równań: gdzie oznaczono: i rozwiązując symbolicznie mamy:

102 Przykład

103

104

105


Pobierz ppt "Interpolacja funkcji Dane wartości funkcji y n w punktach x n, gdzie n=0,1,2,....N-1. x y x0x0 y0y0 xnxn ynyn x N-1 y N-1."

Podobne prezentacje


Reklamy Google