plik


��Sze[cienne funkcje sklejane. PrzykBad (1) �� �� �� �� zi zi+�1 yi+�1 zi+�1hi �� yi zihi �� Si (x) =� (xi+�1 -� x)3 +� (x -� xi )3 +� -� �� ��(x -� xi ) +� �� hi -� 6 �� �� ��(xi+�1 -� x) 6hi 6hi hi 6 �� �� �� �� S1(x) =� 0.186566(x -� 3)3 +�1.666667(4.5 -� x) +� 0.246894(x -� 3) S2(x) =� 0.111939(7 -� x)3 -� 0.102205(x -� 4.5)3 -� 0.299621(7 -� x) +�1.638783(x -� 4.5) S3(x) =� -�0.127757(9 -� x)3 +�1.761027(9 -� x) +� 0.25 (x -� 7) Funkcje sklejane trzeciego stopnia 3 xi yi 3.0 2.5 2 4.5 1.0 1 7.0 2.5 9.0 0.5 0 2 3 4 5 6 7 8 9 10 Sze[cienne funkcje sklejane. Algorytm input n, (xi), (yi) Algorytm jest wariantem metody for i = 0 to n-�1 do eliminacji Gaussa. Wyb�r element�w hi �� xi+1-� xi gB�wnych nie jest tutaj potrzebny. bi �� 6 (yi+1-� yi) / hi Mo|na wykaza, |e elementy na end do gB�wnej przektnej s zawsze r�|ne u1 �� 2 (h0-� h1) od zera. v1 �� b1-� b0 for i = 2 to n-�1 do ui �� 2(hi-�1 +� hi ) -� hi2 /ui-�1 -�1 vi �� bi-� bi-1 -� hi-1 vi-1 / ui-1 end do zn �� 0 for i = n-�1 to 1 step -�1 do zi �� (vi-� hi zi+1) / ui Uwaga: end do Warto[ci ui, vi obliczane dla i > 1 nie s z0 �� 0 identyczne z wystpujcymi w ukBadzie output k, (xi ) r�wnaD. Funkcja interp1 yi = interp1 (x, y, xi)  na podstawie wektora wzB�w x oraz wektora warto[ci y w wzBach interpoluje warto[ci yi w punktach xi (xi jest liczb albo wektorem). yi = interp1 (x, y, xi, method)  na podstawie wektora wzB�w x oraz wektora warto[ci y interpoluje warto[ci yi w punktach xi u|ywajc r�|nych metod (xi jest liczb albo wektorem). method  metoda interpolacji ��linear��  interpolacja liniowa (domy[lna) ��spline��  interpolacja sze[ciennymi funkcjami sklejanymi ��pchip��  przedziaBowa interpolacja Hermita wielomianami sze[ciennymi interp2  interpolacja funkcji dw�ch zmiennych Poza wBasnymi funkcjami Matlab dodatkowo posiada Curve Fitting Toolbox oraz Spline Toolbox. Aproksymacja [redniokwadratowa lini prost (1) x1, x2, ..., xn Chcemy dopasowa do tych danych do[wiadczalnych Mamy y1, y2, ..., yn lini prost g(x) =� ax +� b Kryterium n zle dziaBa min i ��(y -� axi-�b) a,b i=�1 n min yi -� axi-�b zle dziaBa �� a,b i=�1 n min i ��(y -� axi-�b)2 a,b i=�1 Aproksymacja [redniokwadratowa lini prost (2) x1, x2, ..., xn Chcemy dopasowa do tych danych do[wiadczalnych Mamy y1, y2, ..., yn lini prost g(x) =� ax +� b n n Sr (a,b) =� i i ��(y -� g(xi))2 =���(y -� axi-�b)2 i=�1 i=�1 n n n �� �� �� �� 2 �� minSr (a,b) i i i Kryterium ��x �� +� ����x �� =� ��x yi �� ��a �� ��b a,b �� i=�1 �� �� i=�1 �� i=�1 n n n �� �� ��Sr �� =� -�2 i i i ��(y -� axi -� b)xi =� 0 ��x �� +� nb =� ��y �� ��a ��a i=�1 �� i=�1 �� i=�1 n ��Sr =� -�2 i ��(y -� axi -� b) =� 0 n n n ��b i=�1 n yi i i ��x yi -���x �� i=�1 i=�1 i=�1 a =� 2 n n n n n �� �� 2 2 i i i n ��y xi -���ax -���bx =� 0 i i ��x -� ����x �� �� �� i=�1 i=�1 i=�1 i=�1 �� i=�1 �� n n n n n 1 1 i i ��y -���ax -���b =� 0 b =� yi -� a i �� ��x i=�1 i=�1 i=�1 n n i=�1 i=�1 Aproksymacja [redniokwadratowa lini prost . BBd. n Reprezentuje kwadraty pionowych odlegBo[ci Sr =� i ��(y -� axi-�b)2 pomidzy zmierzonymi danymi i lini prost. i=�1 Gdy (1) punkty s rozBo|one wzdBu| linii w odlegBo[ci podobnego rzdu oraz (2) rozkBad punkt�w wok�B linii jest normalny to metoda najmniejszych kwadrat�w daje najlepsze estymacje staBych a i b. Dodatkowo mo|emy wyznaczy standardowy bBd estymacji jako -� standardowy bBd estymacji (oszacowanie bBdu Sr dla przewidywanej warto[ci y odpowiadajcej sy / x =� n -� 2 szczeg�lnej warto[ci x) n n 1 wariancja Niech St =� i ��y i ��(y -� y)2 gdzie y =� n i=�1 i=�1 Wygodniejsze dla obliczeD komputerowych n n n St -� Sr �� r =� n yi �� ��x yi -� ����x ������ i i �� ���� St i=�1 �� i=�1 ���� i=�1 �� r =� 22 n n n n �� �� r nazywa si wsp�Bczynnikiem korelacji. 2 n yi2 -� yi �� ��x -� ����x �� n�� �� i i �� �� �� Dla idealnego dopasowania mamy r = 1. i=�1 �� i=�1 �� i=�1 �� i=�1 �� Aproksymacja [redniokwadratowa lini prost . PrzykBad (1). n i i i ��x yi -���x ��y =� 0.8392857 xi yi yi-axi-b a =� 2 2 n i ��x -�(���xi)� 1 0.5 0.1687 1 b =� i i ��y -� a 1 ��x =� 0.07142857 2 2.5 0.5625 n n 3 2.0 0.3473 y =� 0.8392857x +� 0.07142857 4 4.0 0.3265 5 3.5 0.5696 Aproksymacja sredniokwadratowa y = ax + b 7 6 6.0 0.7972 6 7 5.5 0.1993 5 n =� 7 4 i ��x =� 28 3 yi =� 24 �� 2 i ��x yi =�119.5 1 2 i ��x =�140 0 0 2 4 6 8 Aproksymacja [redniokwadratowa lini prost . PrzykBad (2). n Sr =� -� suma kwadrat�w odchyleD i ��(y -� axi-�b)2 =� 2.9911 i=�1 n 1 y =� -� warto[ [rednia i ��y =� 24 n 7 i=�1 n St =� i ��(y -� y)2 =� 22.7142 -� wariancja i=�1 St -� odchylenie standardowe sy =� =�1.9457 n -�1 Sr -� standardowy bBd estymacji sy / x =� =� 0.7735 n -� 2 St -� Sr r =� =� 0.868 =� 0.932 -� wsp�Bczynnik korelacji St PrzeksztaBcenia funkcji nieliniowych Funkcj nieliniow y = f (x) przeksztaBcamy do postaci w = av + b Funkcja liniowa Funkcja Podstawienie a 1 y =� av +� b y =� +� b v =� x x 1 a 1 b w =� w =� x +� y =� y x +� a b b w =� ln y w =� lnb�� x +� lna y =� abx StaBa c nie jest y =� c -� be-�ax w =� ln(c -� y) w =� -�ax +� lnb aproksymowana w =� ln y y =� axb v =� ln x w =� bv +� lna y w =� ln y =� axebx w =� bx +� lna x c c y =� w =� ax +� lnb w =� ln�� -�1�� StaBa c nie jest �� �� aproksymowana 1+� beax x �� �� v =� ln x y =� aln x +� b y =� av +� b PrzeksztaBcenia funkcji nieliniowych. PrzykBad Funkcja w = 1.7517v - 0.6913 xi yi 2.5 y =� axb 1 0.5 2 ln y =� bln x +� lna 2 1.7 1.5 w =� ln y 3 3.4 1 v =� ln x 4 5.7 0.5 w =� bv +� lna 5 8.4 0 Funkcja y = 0.5009x1.7517 9 -0.5 8 -1 7 0 0.5 1 1.5 v = ln x 6 5 v = log (x); 4 w = log (y); 3 p = polyfit (v, w, 1); a = 0.5009 2 b = p(1); 1 b = 1.7517 a = exp (p(2)); 0 0 2 4 6 w = ln y Aproksymacja [redniokwadratowa parabol x1, x2, ..., xn Chcemy dopasowa do tych danych do[wiadczalnych Mamy y1, y2, ..., yn lini prost g(x) =� ax2 +� bx +� c n n Sr (a,b,c) =� i i ��(y -� g(xi))2 =���(y -� axi2 -� bxi -� c)2 i=�1 i=�1 Kryterium minSr (a,b,c) a,b,c Normalny ukBad r�wnaD: n ��Sr =� -�2 i ��(y -� axi2 -� bxi -� c)xi2 =� 0 ��a i=�1 n n n n �� �� �� �� �� �� 4 3 2 2 n �� ��Sr i i i i ��x �� +� ����x �� +� ����x �� =� ��x yi �� ��a �� ��b �� ��c =� -�2 i ��(y -� axi2 -� bxi -� c)xi =� 0 �� i=�1 �� �� i=�1 �� �� i=�1 �� i=�1 ��b i=�1 n n n n �� �� �� �� �� �� n 3 2 ��Sr �� i i i i ��x �� +� ����x �� +� ����x �� =� ��x yi =� -�2 �� ��a �� ��b �� ��c i ��(y -� axi2 -� bxi -� c) =� 0 �� i=�1 �� �� i=�1 �� �� i=�1 �� i=�1 ��c i=�1 n n n �� �� �� �� 2 �� i i i ��x �� +� ����x �� +� nc =� ��y �� ��a �� ��b �� i=�1 �� �� i=�1 �� i=�1 Aproksymacja [redniokwadratowa parabol. PrzykBad (1) n =� 6 979 255 55 a 2488.8 �� �� �� �� �� �� xi yi i ��x =�15 ��225 55 15�� ��b�� �� �� =� 585.6 �� �� �� �� �� �� 0 2.1 yi =�152.6 �� �� �� �� 55 15 6 �� �� ��c�� �� 152.6 �� �� �� �� 2 1 7.7 i ��x =� 55 a = 1.86071 2 13.6 3 i ��x =� 225 b = 2.35929 3 27.2 4 c = 2.47857 i ��x =� 979 4 40.9 y =�1.86071x2 +� 2.35929x +� 2.37857 i ��x yi =� 585.6 5 61.1 2 Standardowy bBd estymacji: i ��x yi =� 2488.8 Sr n n n n �� �� �� �� �� �� sy / x =� =�1.12 4 3 2 2 �� i i i i ��x �� +� ����x �� +� ����x �� =� ��x yi n -� (m +�1) �� ��a �� ��b �� ��c �� i=�1 �� �� i=�1 �� �� i=�1 �� i=�1 gdzie m  stopieD wielomianu n n n n �� �� �� �� �� �� 3 2 �� aproksymujcego i i i i ��x �� +� ����x �� +� ����x �� =� ��x yi �� ��a �� ��b �� ��c �� i=�1 �� �� i=�1 �� �� i=�1 �� i=�1 St -� Sr n n n �� �� �� �� 2 r =� =� 0.99851=� 0.99925 �� i i i ��x �� +� ����x �� +� nc =� ��y �� ��a �� ��b St �� i=�1 �� �� i=�1 �� i=�1 Aproksymacja [redniokwadratowa parabol. PrzykBad (2) y = 1.8607x2 + 2.3593x + 2.4786 70 60 50 40 30 20 10 0 0 1 2 3 4 5 Wieloliniowa aproksymacja [redniokwadratowa x11, x12, ..., x1n Chcemy dopasowa do tych danych do[wiadczalnych Mamy x21, x22, ..., x2n pBaszczyzn g(x1, x2) =� ax1 +� bx2 +� c y1, y2, ..., yn n n Sr (a,b,c) =� i i ��(y -� g(x1i,x2i))2 =���(y -� ax1i -� bx2i -� c)2 i=�1 i=�1 Kryterium minSr (a,b,c) a,b,c n n n n n �� �� �� �� �� �� ��Sr 2 =� -�2 �� i ��(y -� ax1i -� bx2i -� c)x1i =� 0 1i 1i 1i 1i ��x �� +� ����x x2i �� +� ����x �� =� ��x yi �� ��a �� ��b �� ��c ��a i=�1 �� i=�1 �� �� i=�1 �� �� i=�1 �� i=�1 n ��Sr n n n n �� �� �� �� �� �� 2 =� -�2 i ��(y -� ax1i -� bx2i -� c)x2i =� 0 �� 1i 2i 2i 2i ��x x2i �� +� ����x �� +� ����x �� =� ��x yi ��b �� ��a �� ��b �� ��c i=�1 �� i=�1 �� �� i=�1 �� �� i=�1 �� i=�1 n ��Sr n n n �� �� �� �� =� -�2 i ��(y -� ax1i -� bx2i -� c) =� 0 �� ��c 1i 2i i ��x �� +� ����x �� +� nc =� ��y i=�1 �� ��a �� ��b �� i=�1 �� �� i=�1 �� i=�1 Wieloliniowa aproksymacja [redniokwadratowa. PrzykBad. (1) x1i x2i yi 2 �� 0 0 5 1i 1i 1i 1i ��x ��x x2i ��x �� ��a�� ����x yi �� �� 2 2 1 10 =� 1i 2i 2i �� �� �� 2i ����x x2i ��x ��x �� ��b�� ����x yi �� �� �� �� �� �� 2.5 2 9 n 1i 2i �� i ��x ��x ��c�� �� ��y �� �� �� �� �� 1 3 0 4 6 3 76.25 48 16.5 a 243.5 �� �� �� �� �� �� �� �� ��b�� �� �� 7 2 27 48 54 14 =� 100 �� �� �� �� �� �� �� �� �� 16.5 14 6 �� �� ��c�� �� 54 �� �� �� �� n n n n �� �� �� �� �� �� 2 �� 1i 1i 1i 1i ��x �� +� ����x x2i �� +� ����x �� =� ��x yi �� ��a �� ��b �� ��c �� i=�1 �� �� i=�1 �� �� i=�1 �� i=�1 n n n n �� �� �� �� �� �� a = 4 2 �� 1i 2i 2i 2i ��x x2i �� +� ����x �� +� ����x �� =� ��x yi �� ��a �� ��b �� ��c b = -�3 �� i=�1 �� �� i=�1 �� �� i=�1 �� i=�1 c = 5 n n n �� �� �� �� �� yi 1i 2i ��x �� +� ����x �� +� nc =� �� �� ��a �� ��b �� i=�1 �� �� i=�1 �� i=�1 Wieloliniowa aproksymacja [redniokwadratowa. PrzykBad. (2) Funkcja y = 4x1 - 3x2 + 5 40 30 20 10 0 -10 -20 6 8 4 6 4 2 2 0 0 Aproksymacja [redniokwadratowa nieliniowa x1, x2, ..., xn Chcemy dopasowa do tych danych do[wiadczalnych Mamy y1, y2, ..., yn funkcj nieliniow g(x). n minSr (a,b) Kryterium Sr (a,b) =� i ��(y -� g(xi))2 a,b i=�1 x = lsqcurvefit (fun, x0, xdata, ydata)  dopasowuje funkcj nieliniow do danych eksperymentalnych metod najmniejszych kwadrat�w. Algorytmy: x = lsqcurvefit (fun, x0, xdata, ydata, lb, ub) trust region reflective x = lsqcurvefit (fun, x0, xdata, ydata, lb, ub, options) Levenberga-Marquardta [x, resnorm] = lsqcurvefit (...) [x, resnorm, residual] = lsqcurvefit (...) [x, resnorm, residual, exitflag] = lsqcurvefit (...) lsqcurvefit jest elementem Optimization Toolbox (opis parametr�w  nastpny slajd). Parametry lsqcurvefit [x, resnorm, residual, exitflag] = lsqcurvefit (fun, x0, xdata, ydata, lb, ub, options) fun  funkcja aproksymujca y = f (x, xdata) x  wektor estymowanych parametr�w funkcji aproksymujcej xdata  wektor warto[ci do[wiadczalnych zmiennej niezale|nej ydata  wektor warto[ci do[wiadczalnych zmiennej zale|nej x0  wektor warto[ci pocztkowych estymowanych parametr�w lb  wektor ograniczeD dolnych na estymowane parametry ub  wektor ograniczeD g�rnych na estymowane parametry options  struktura (tworzona przy pomocy funkcji optimset) przekazujca do funkcji lsqcurvefit parametry optymalizacji resnorm  suma kwadrat�w r�|nic residual  wektor r�|nic f(x, xdata)  ydata exitflag  warto[ opisujca warunki zakoDczenia obliczeD 1  znaleziono rozwizanie 2  zmiana x mniejsza ni| zadana dokBadno[ 3  zmiana y mniejsza ni| zadana dokBadno[ 4  wielko[ kierunku poszukiwaD mniejsza ni| zadana dokBadno[ 0  osignito zadan liczb iteracji albo zadan liczb obliczeD warto[ci funkcji Aproksymacja [redniokwadratowa nieliniowa. PrzykBad The vapor pressure of liquid 2,2,4-trimethyl pentane 120 2,2,4-trimetyl R�wnanie Antoine a pentan 100 B ln p =� A +� T P t +� C 80 [��C] [kPa] 60 function lnp = Antoine (c,T) -15.0 0.667 lnp = c(1) + c(2)./(T+c(3)); 40 -4.3 1.333 20 A = 13.7 7.5 2.666 0 B = -2912.9 -20 0 20 40 60 80 100 20.7 5.333 temperature [C] C = 221.5 29.1 8.000 t = [-15 -4.3 7.5 20.7 29.1 40.7 58.1 78 99.2]; 40.7 13.33 p=[0.667 1.333 2.666 5.333 8.0 13.33 26.66 53.33 101.32]; 58.1 26.66 lnp = log(p); 78.0 53.33 lo = [-Inf -Inf -Inf]; up = [Inf Inf Inf]; 99.2 101.32 c0 = [15 -2000 20]; opcje = optimset ( Algorithm', 'levenberg-marquardt'); [c, resnorm, residual, exitflag] = lsqcurvefit (@Antoine, c0, t, lnp, lo, up, opcje); pressure [kPa] R�|niczkowanie numeryczne (1) Czy znajc warto[ci funkcji f w punktach x0, x1, ..., xn mo|emy obliczy warto[ci pochodnej albo caBki? Zale|y od tego co wiemy o funkcji. 1 �� f (x) �� [ f (x +� h) -� f (x)] h Oszacujmy bBd przybli|enia 1 �� ��� f (x +� h) =� f (x) +� hf (x) +� h2 f (x�) gdzie x� ��(x, x +� h) 2 1 1 �� ��� f (x) =� [ f (x +� h) -� f (x)]-� hf (x�) h 2 h �� 0 �� blad �� 0 BBd przybli|enia (obcicia) Przybli|ona warto[ pochodnej R�|niczkowanie numeryczne. PrzykBad 1. Dla h = 0.01 znalez przybli|on warto[ pochodnej funkcji f (x) = cos x dla x = p�/4 i oszacowa bBd przybli|enia. 1 1 �� f (� / 4) �� [ f (� / 4 +� 0.01) -� f (� / 4)] =� (0.700000476-� 0.707106781=� -�0.71063051 ) 0.01 0.01 1 ��� h2 f (x�) =� 0.005 cos(x�) �� 0.005 2 Poniewa| x� �� (p�/4, p�/4+h) wic |cos p�/4| <� 0.707107. W konsekwencji 1 ��� h2 f (x�) =� 0.005 cos(x�) �� 0.005��0.707107 =� 0.0035355 2 Prawdziwy bBd jest niewiele mniejszy: Wydaje si, |e warto[ f '(x) ze wzoru 1 1 -�sin (� / 4) +� 0.71063051 =� 0.003523729 �� ��� f (x) =� [ f (x +� h) -� f (x)]-� hf (x�) h 2 jest tym dokBadniejsza im mniejsze jest h. R�|niczkowanie numeryczne. PrzykBad 2a. Sprawdzmy przypuszczenie z PrzykBadu 1. x =� 2 Znalez przybli|on warto[ pochodnej funkcji f (x) = arctg x dla i oszacowa bBd przybli|enia. 1 1 �� wic �� f (x) =� f ( 2) =� x2 +�1 3 h [f(x+h)-�f(x)]/h 2-�4 0.32374954 Najlepsza dokBadno[ f ' (3 cyfry znaczce) 2-�12 0.33325195 dla liczb zmiennopozycyjnych 32 bitowych 2-�20 0.31250000 2-�24 1.00000000 2-�26 0.00000000 Odejmujc bliskie wielko[ci tracimy tym wicej cyfr znaczcych im mniejsze jest h. Redukcja liczby cyfr znaczcych uniemo|liwia uzyskanie dobrych przybli|eD pochodnej dla maBych h. R�|niczkowanie numeryczne (2) Wezmy inny wz�r 1 �� f (x) �� [ f (x +� h) -� f (x -� h)] 2h Oszacujmy bBd przybli|enia 1 1 �� ��� ���� f (x +� h) =� f (x) +� hf (x) +� h2 f (x) +� h3 f (x�+� ) 2 3! 1 1 �� ��� ���� f (x -� h) =� f (x) -� hf (x) +� h2 f (x) -� h3 f (x�-�) 2 3! Odejmujemy stronami 1 1 �� ���� ���� f (x) =� [ f (x +� h) -� f (x -� h)]-� h2[ f (x�-�) +� f (x�+� )] 2h 12 1 ���� ���� ���� f (x�) =� [ f (x�-�) +� f (x�+�)] Je|eli f ���� jest cigBa w (x -� h, x + h) to istnieje x� takie, |e 2 1 1 Std �� ���� f (x) =� [ f (x +� h) -� f (x -� h)]-� h2[ f (x�)] 2h 6 BBd jest mniejszy ni| poprzednio bo h jest w wy|szej potdze. Zatem przybli|enie jest dokBadniejsze. R�|niczkowanie numeryczne. PrzykBad 2b. x =� 2 Znalez przybli|on warto[ pochodnej funkcji f (x) = arctg x dla i oszacowa bBd przybli|enia. 1 1 �� wic �� f (x) =� f ( 2) =� x2 +�1 3 Powtarzamy obliczenia z PrzykBadu 2a stosujc wz�r. 1 1 �� ���� f (x) =� [ f (x +� h) -� f (x -� h)]-� h2[ f (x�)] 2h 6 h [f(x+h)-�f(x)]/(2h) 2-�2 0.33719385 Najlepsza dokBadno[ f ' 2-�10 0.33334351 (lepsza ni| w PrzykBadzie 2a) 2-�18 0.32812500 dla liczb zmiennopozycyjnych 2-�26 0.00000000 32 bitowych Odejmujc bliskie wielko[ci zn�w tracimy tym wicej cyfr znaczcych im mniejsze jest h.

Wyszukiwarka

Podobne podstrony:
Wyklad studport 8
Wyklad studport 5
Wyklad studport 11
Wyklad studport 7
Wyklad studport 12
Wyklad studport 14
Wyklad studport 4
Wyklad 12 Podstawowe typy zwiazkow chemicznych blok s i p PCHN SKP studport
Wyklad 5 Uklad okresowy pierwiastkow studport
Wyklad 10 Elektrolity, woda, kwasy i zasady PCHN SKP studport
WYKŁAD 4 Elektronowa struktura atomu studport
Sieci komputerowe wyklady dr Furtak
Wykład 05 Opadanie i fluidyzacja
WYKŁAD 1 Wprowadzenie do biotechnologii farmaceutycznej

więcej podobnych podstron