Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

1. Ralston A.: Wstęp do analizy numerycznej. PWN Warszawa 1975. 2. Fortuna Z., Macukow B., Wąsowski J.: Metody numeryczne. WNT Warszawa 1982. 3. Bjorck.

Podobne prezentacje


Prezentacja na temat: "1. Ralston A.: Wstęp do analizy numerycznej. PWN Warszawa 1975. 2. Fortuna Z., Macukow B., Wąsowski J.: Metody numeryczne. WNT Warszawa 1982. 3. Bjorck."— Zapis prezentacji:

1

2

3 1. Ralston A.: Wstęp do analizy numerycznej. PWN Warszawa 1975. 2. Fortuna Z., Macukow B., Wąsowski J.: Metody numeryczne. WNT Warszawa 1982. 3. Bjorck A., Dahlquist G.: Metody numeryczne. PWN Warszawa 1983. 4. Pozrikidis C.: Numerical Computation in Science and Engineering. Oxford University Press 1998.

4 Zapis liczb w maszynie cyfrowej Liczby całkowite gdzie e i =0 lub 1. Jeżeli na zapis liczby przeznaczymy d bitów, to pierwszy bit - znak, następne d-1 bitów - zapis liczby czyli mając do dyspozycji rejestr d bitowy p=d-2 i możemy zapisać liczbę całkowitą: w Pascalu mamy reprezentacje:

5 1 byte = 8 bitów 1 byte shortint : -2 7 n 2 7 -1 -128 n 127 tylko nieujemne: byte : 0 n 2 8 -1 0 n 255 2 byte = 16 bitów integer : -2 15 n 2 15 -1 -32768 n 32767 tylko nieujemne: word : 0 n 2 16 -1 0 n 65535

6 4 bite = 32 bity longint : -2 31 n 2 31 -1 -2147483648 n 2147483647 W podanych zakresach liczby całkowite są reprezentowane w maszynie cyfrowej dokładnie. Przekroczenie zakresu dla danego typu liczb całkowitych powoduje najczęściej błędne obliczenia. Liczby rzeczywiste m – mantysa, c – cecha. Przyjmuje się, że Reprezentacja zmiennoprzecinkowa:

7 Mantysa m jest obliczana z zależności: W maszynie cyfrowej mamy do dyspozycji skończoną liczbę bitów wynoszącą t i mantysa maszynowa m t jest: a więc popełniamy błąd zaokrąglenia mantysy:

8 c - cecha Przykład: x=znak liczby |mantysa |znak cechy |cecha x=0|1110|011 zmieniamy jeden bit: x=0|1111|011 i mamy: Spróbujmy przedstawić w tej maszynie liczbę x=7.25 cecha: 2 3 i mantysa m=7.25/8=0.90625

9 reprezentacja dwójkowa mantysy: czyli

10 Przy ośmiu bitach dla zapisu liczb rzeczywistych - liczb między 7.00 i 7.50 nie rozróżniamy. Rzeczywiście mamy: błąd mantysy 2 -4 =0.0625, maksymalna cecha 8, czyli 0.0625*8=0.5. Błąd względny : czyli lub inaczej Maksymalny błąd względny przy najostrzejszym oszacowaniu, to: ale

11 W Pascalu stosujemy reprezentacje: single – 4 byte w tym 1 byte cecha czyli o wielkości błędu względnego decyduje liczba bitów przeznaczonych na mantysę. błąd względny reprezentacji: a więc 7 do 8 prawidłowych cyfr znaczących. Zakres reprezentowanych liczb: gdzie

12 real – 6 byte cecha – 1 byte błąd względny reprezentacji: około 10 do 12 cyfr znaczących dokładnie. Zakres reprezentowanych liczb jak dla single czyli

13 double – 8 byte cecha 11 bitów błąd względny reprezentacji: około 15 do 16 cyfr znaczących dokładnie. Zakres reprezentowanych liczb:

14 extended – 10 byte cecha – 15 bitów błąd względny reprezentacji: około 19 do 20 cyfr znaczących dokładnie. Zakres reprezentowanych liczb:

15 Rodzaje błędów: 1. błędy danych wejściowych, 2. błędy obcięcia, 3. błędy zaokrągleń. Błąd obcięcia Błąd obcięcia:

16 Błąd obcięcia będzie dyskutowany przy poszczególnych metodach Błąd danych wejściowych może być np. spowodowany błędami popełnionymi przy pomiarach np. wymiarów geometrycznych, itp.. Kilka uwag na temat organizacji obliczeń Obliczyć wartość wielomianu stopnia n:

17 Obliczenia klasyczne: Liczba mnożeń – Liczba dodawań - n Dla n=100 mamy 5049 mnożeń i 100 dodawań. Schemat Hornera:

18 Liczba działań: mnożeń – n-1 dodawań - n Schemat łatwy do realizacji w pętli: w=x+a 1 for k=2 to n w=wx+a k P(x)=w Po zakończeniu pętli mamy obliczoną wartość wielomianu.

19 Obliczanie sum Sumę nieskończoną w obliczeniach numerycznych zastępujemy sumą skończoną: Obliczenia numeryczne: Błąd obliczeń szacujemy: gdzie k najczęściej przyjmuje się =2. Przykład:

20 i porównajmy błędy: gdzie z błędem:

21 dla K=10,20..100 Kolejność sumowania i obliczmy dla x=1 czyli

22 i obliczamy: oraz

23

24 Przyśpieszenie zbieżności:

25 Stabilność algorytmu Przykład niestabilnego algorytmu (Kincaid i Cheney, 1996r) Rozpatrzmy ciąg liczbowy: równoważny ciągowi: Dowód metodą indukcji matematycznej Algorytm I Algorytm II

26 Wyniki obliczeń w arytmetyce 32 bitowej według: Algorytmu IAlgorytmu II x 1 =1.00000000000000 x 2 =0.333333333333333 x 3 =0.111111111111111 x 4 =0.037037037037036 x 4 =0.037037037037037 ……………………….. x 10 =0.000016935074827 x 10 =0.000016935087808 x 20 =-0.000013611585443 x 20 =0.000000000000000 x 30 =-14.273082546213100 x 30 =0.000000000000000

27 Algorytmu I Algorytmu II x 40 =-1.496641180397794e7 x 40 =0.000000000000000 x 100 =-4.973443391573326e42x 100 =0.000000000000000 Algorytm obliczeń rekurencyjnych: jest numerycznie niestabilny i nie może być zastosowany do obliczeń numerycznych.

28 Układy równań liniowych Jeżeli N<M, układ równań jest nieokreślony, N=M – określony N>M - nadokreślony Rozważymy tylko przypadek N=M

29 Układ NxM liczb rzeczywistych bądź zespolonych zapisujemy w formie tablicy. Taką tablicę nazywamy macierzą NM wymiarową lub macierzą prostokątną. wiersz macierzy wiersz k-ty macierzy kolumna macierzy k-ta kolumna macierzy a ik – wyraz macierzy położony we wierszu i-tym i kolumnie k-tej

30 Macierz symbolicznie zapisujemy w postaci jednego znaku, np.: A podając liczbę wierszy i kolumn w opisie. Inny skrócony zapis to: i=(1,N); k=(1,M) Jeżeli N=M, to macierz jest macierzą o jednakowej liczbie wierszy i kolumn. Mówimy, że jest to macierz kwadratowa stopnia N, lub macierz stopnia N.

31 Macierz kwadratowa stopnia N. Operacje na macierzach Mnożenie macierzy przez liczbę c. c – liczba rzeczywista lub zespolona. Dwie macierze A i B są równe czyli A=B, jeżeli mają jednakową liczbę wierszy i kolumn i zachodzi a ij =b ij dla wszystkich par (i,j).

32 lub krótko B=cA=[ca ik ] wymiary macierzy B są identyczne jak wymiary macierzy A. Dodawanie (odejmowanie) dwóch macierzy A i B. Obie macierze muszą mieć tę samą liczbę wierszy i kolumn.

33

34 suma: lub krótko C =A+B=[a ij +b ij ] lub w postaci realizacji na maszynie: c ij =a ij +b ij dla i=(1,N), j=(1,M): for i:=1 to N do for j:=1 to M do C[i,j]:=A[i,j]+B[i,j] Suma macierzy jest przemienna, czyli A+B=B+A

35 różnica: lub krótko C =A-B=[a ij -b ij ] lub w postaci realizacji na maszynie: c ij =a ij -b ij dla i=(1,N), j=(1,M): for i:=1 to N do for j:=1 to M do C[i,j]:=A[i,j]-B[i,j]

36 Iloczyn dwóch macierzy Dane dwie macierze prostokątne: A o wymiarze N A xM A i B o wymiarze N B xM B Obliczyć iloczyn C=AB. Macierz będącą iloczynem można obliczyć tylko wtedy, jeżeli liczba kolumn pierwszego czynnika – czyli M A – jest równa liczbie wierszy drugiego czynnika – czyli N B, a więc warunkiem wykonalności mnożenia dwóch macierzy prostokątnych jest M A =N B Macierz C będzie miała N A wierszy i M B kolumn. Jeżeli A i B są macierzami kwadratowi tego samego stopnia N mnożenie jest zawsze wykonalne.

37 Wyrazy macierzy C=[c ik ] będącej iloczynem macierzy AB obliczamy z zależności: Przykład: liczba wierszy 4 liczba kolumn 3 liczba wierszy 3 liczba kolumn 5

38 Macierz C=AB będzie macierzą o 4 wierszach i 5 kolumnach c 11 =a 11 b 11 +a 12 b 21 +a 13 b 31 =1·2+3 ·0+0 ·0=2 c 12 =a 11 b 12 +a 12 b 22 +a 13 b 32 =1 ·0+3 ·3+0 ·0=9 c 13 =a 11 b 13 +a 12 b 23 +a 13 b 33 =1 ·(-2)+3 ·4+0 ·0=10 c 14 =a 11 b 14 +a 12 b 24 +a 13 b 34 =1 ·1+3 ·0+0 ·2=1 c 15 =a 11 b 15 +a 12 b 25 +a 13 b 35 =1 ·0+3 ·0+0 ·1=0 c 21 =a 21 b 11 +a 22 b 21 +a 23 b 31 =(-2) ·2+0 ·0+3 ·0=-4 itd…

39 Iloczyn dwóch macierzy, również kwadratowych, nie jest przemienny czyli ABBA

40 Jeżeli zachodzi AB=BA mówimy, że macierze są przemienne. Macierz jednostkowa I – jest to macierz kwadratowa o wymiarze N, której wyraz δ ik jest zdefiniowany następująco: czyli np. macierz jednostkowa 5-go stopnia ma postać: Wykazać, że AI=IA=A

41 Ograniczymy nasze rozważania tylko do macierzy kwadratowych stopnia N O wyrazach a ii macierzy A mówimy, że leżą na głównej przekątnej a macierz A, która ma niezerowe wyrazy tylko na głównej przekątnej nazywamy macierzą diagonalną

42 Jeżeli w macierzy A zamienimy wiersze z kolumnami, to tak otrzymaną macierz nazywamy macierzą transponowaną i oznaczamy A T

43 zapisując symbolicznie możemy napisać: [a ik ] T =[a ki ] Przykład: Zachodzą związki: Przykład:

44 Dla każdej macierzy zachodzi

45 Macierz B, dla której zachodzi równość: nazywamy macierzą symetryczną Macierz B=AA T jest macierzą symetryczną.

46 Wyznacznik Dla danej macierzy kwadratowej A: definiujemy liczbę: gdzie detA ij jest wyznacznikiem macierzy stopnia N-1 otrzymanej przez skreślenie z macierzy A wiersza i-go i kolumny j-ej.

47 Jest to definicja rekurencyjna i dlatego musimy zdefiniować wyznacznik macierzy kwadratowej stopnia N=1, czyli A=[a 11 ]. Wyznacznik tej macierzy jest: detA=a 11. Dla macierzy drugiego stopnia mamy: Zgodnie ze wzorem mamy: czyli dla macierzy drugiego stopnia mamy: Wyznacznik drugiego stopnia obliczamy bezpośrednio: dla obliczenia wyznacznika musimy wykonać dwa mnożenia

48 Wyznacznik macierzy trzeciego stopnia: Zgodnie ze wzorem: mamy: Liczba mnożeń, którą trzeba wykonać wynosi 9=3! Wyznacznik 3-go stopnia możemy łatwo obliczyć metodą Sarrusa +++ - - -

49 Obliczenie wyznacznika N-go stopnia wymaga wykonania N! mnożeń. Obliczanie wyznaczników stopnia 4-go i wyższych jest operacją czasochłonną, Macierz odwrotna Macierz odwrotną do macierzy kwadratowej A będziemy oznaczać A -1. Macierz A -1 jest macierzą odwrotną do macierzy A tylko wtedy jeżeli Jeżeli wyrazy macierz odwrotnej oznaczymy przez b ik a wyrazy macierzy A przez a ik, to dla wyznaczenia wyrazów macierzy odwrotnej mamy N 2 równań:

50 Wyrazy macierzy odwrotnej można wyznaczyć ze wzorów analitycznych: gdzie detA – wyznacznik macierzy A, A ij – oznacza macierz stopnia N-1 otrzymaną z macierzy A przez skreślenie i-go wiersza i j-ej kolumny, a detA ij jest wyznacznikiem macierzy A ij. Z powyższego wzoru wynika, że warunkiem istnienia macierzy odwrotnej jest aby wyznacznik główny detA0 Podanego wzoru praktycznie nigdy nie stosujemy do obliczenia macierzy odwrotnej, gdyż prowadzi on do olbrzymiej liczby obliczeń. Szacując tylko liczbę mnożeń mamy dla obliczenia wyznacznika głównego N!. Dla obliczenia N 2 wyrazów macierzy odwrotnej (N-1)! mnożeń, a więc N!+N 2 (N-1)!=(N+1)! mnożeń.

51 Rozwiązywanie układów równań liniowych Dany jest układ równań liniowych: A – macierz (tablica) o wymiarze NxN, a ij – element macierzy A leżący w i-tym wierszu i j-tej kolumnie

52 X – wektor (tablica jednokolumnowa) niewiadomych o N składowych Zapis: Często wygodniej zapisywać w postaci: Formalnie rozwiązanie równania AX=B możemy zapisać w postaci: i ponieważ obliczenie macierzy odwrotnej wymaga (N+1)! mnożeń, więc w przybliżeniu taki byłby nakład pracy przy rozwiązaniu w ten sposób. Niestety jest to niewykonalne dla dużych układów równań.

53 Przestrzeń R n jest utworzona przez n - wymiarowe wektory X Definiujemy normy dla wektora: jako lub norma euklidesowa: norma maksimum: Normy wektorów są równoważne, co oznacza, że jeżeli ciąg norm jest zbieżny do zera według jednej z norm to jest zbieżny również względem pozostałych.

54 Macierz A o m wierszach i n kolumnach: wektorom X (m) przestrzeni R m przyporządkowuje wektory X (n) przestrzeni R n. Mówimy, że mamy operator liniowy A przekształcający przestrzeń R m w R n. Normę operatora definiujemy: Jeżeli przyjmiemy w obu przestrzeniach normę to maksymalna suma modułów w kolumnie

55 Jeżeli w obu przestrzeniach jest stosowana norma euklidesowa: to normę macierzy najczęściej ocenia się za pomocą normy: zwanej normą euklidesową. Dla normy maksimum w obu przestrzeniach norma macierzy jest maksymalna suma we wierszu

56 Metoda Gaussa bez wyboru elementu wiodącego Przykład: Zapisujemy w postaci macierzy dołączonej:

57

58

59 Redukcja górnej trójkątnej: W wyniku przeprowadzonej redukcji otrzymujemy układ równań w postaci:

60

61 ostatnia kolumna zawiera rozwiązanie: =X 8.1147767 2.5788529 0.5987301 2.3897439

62 Liczba działań w metodzie Gaussa: mnożeń: n 3 /3+n 2 -n/3 n 3 i dodawań: n 3 /3+n 2 /2-5n/6 n 3 ogólnie około n 3 działań. Licząc ze wzorów Cramera (wyznaczniki) potrzeba działań np. n=100 w metodzie Gaussa daje 10 6 działań. Jeżeli maszyna wykonuje 10 7 mnożeń na sekundę, to układ zostanie rozwiązany w czasie 0.1s. Wzorami Cramera potrzeba t.j. około 10 152 s, rok około 3.1·10 7 s a więc około 145 lat

63 Rozważmy układ równań który jest układem już rozwiązanym po zmianie pierwszego i ostatniego wiersza: Nie może układ wierszy wpłynąć na istnienie rozwiązania!

64 Metoda Gaussa z częściowym wyborem elementu podstawowego Największy element w kolumnie pierwszej znajduje się we wierszu czwartym i dlatego zamieniamy te dwa wiersze miejscami:

65 Przeprowadzamy eliminację:

66 Jeszcze raz rzut oka na otrzymany układ równań:

67 i redukcja górnej trójkątnej: i ostatnia kolumna zawiera rozwiązanie.

68 Rozkład LU. Metoda Croutea. Rozkład na macierze trójkątne Dana jest macierz A i przedstawiamy ją w postaci: A=LU gdzie macierz L jest macierzą dolną trójkątną:

69 lub ogólnie: Macierz U górna trójkątna: lub ogólnie:

70 Jeżeli A=LU, to dla układu równań AX=b mamy: Rozwiązanie układu LY=b z dolną macierzą trójkątną jest łatwe: i=2,3,...,N

71 i rozwiązanie równania UX=Y z górną macierzą trójkątną jest łatwe: i=N-1,N-2,...,1 Duża zaleta: Znając rozkład LU możemy go wykorzystać wielokrotnie dla różnych prawych stron.

72 Obliczanie wyrazów macierzy L i U w wyniku mnożenia obu macierzy mamy macierz B=[b ij ] Zaczynamy kolejno: pierwszy wiersz macierzy L razy k-ta kolumna macierzy U: k-ty wiersz macierzy L razy pierwszy wiersz macierzy U:

73 k-ty wiersz macierzy L razy j-ta (j k) kolumna macierzy U: j-ty wiersz (j>k) macierzy L razy k-ta kolumna macierzy U:

74 ponieważ musi zachodzić B=A, czyli b ij =a ij dla (i,j=1,2,...,N) stąd otrzymujemy kolejno: Pierwszy wiersz macierzy U: pierwsza kolumna macierzy L: k-ty wiersz macierzy U: dla j=k,k+1,...,N k-ta kolumna macierz L: dla j=k+1,k+2,...,N

75 Przykład: Zgodnie z: pierwszy wiersz macierzy U:

76 Pierwsza kolumna macierzy L zgodnie zgdzie u 11 =4

77 drugi wiersz macierzy U zgodnie ze wzorem: j=2,3,4,5

78 j=3,4,5 Druga kolumna macierzy L:

79 trzeci wiersz macierzy U zgodnie ze wzorem: j=3,4,5

80 j=4,5 trzecia kolumna macierzy L:

81 czwarty wiersz macierzy U zgodnie ze wzorem: j=4,5

82

83 j=5 czwarta kolumna macierzy L:

84

85 Dla sprawdzenia czy nie popełniliśmy błędu obliczamy: B=LU

86 Mając macierz A=LU możemy rozwiązać równanie LUX=b dla dowolnego wektora prawej strony.

87 Znając rozkład LU macierzy łatwo obliczyć wyznacznik główny |A| macierzy A=LU. Mamy: ale a i ostatecznie:

88


Pobierz ppt "1. Ralston A.: Wstęp do analizy numerycznej. PWN Warszawa 1975. 2. Fortuna Z., Macukow B., Wąsowski J.: Metody numeryczne. WNT Warszawa 1982. 3. Bjorck."

Podobne prezentacje


Reklamy Google