REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Adam Wosatko Ewa Pabisek
Reprezentacja liczby Pojęcie liczby Liczba Dawniej: rozumiana jako miernik wielkości zbioru, np. przedmiotów. Dziś: podstawowy obiekt matematyczny, pojęcie abstrakcyjne. Czy liczba różni się od cyfry? Liczba składa się z cyfr, tak jak słowo składa się z liter, np. w systemie dziesiętnym 2855228 składa się z cyfr arabskich 2, 5 i 8.
Reprezentacja liczby Liczby rzeczywiste Zbiór liczb rzeczywistych jest uporządkowany dla każdych dwóch liczb rzeczywistych a i b można wskazać, która z nich jest większa. Zbiór liczb rzeczywistych jest wszędzie gęsty i nieskończony między dwiema liczbami rzeczywistymi istnieje co najmniej jedna liczba rzeczywista. Zbiór liczb rzeczywistych jest ciągły każdy punkt osi liczbowej ma współrzędną rzeczywistą. Działania arytmetyczne na liczbach rzeczywistych są zawsze wykonalne z wyjątkiem dzielenia przez zero.
Reprezentacja liczby Reprezentacja liczby Reprezentacja liczby Sposób zapisu wartości liczby za pomocą znaków, w szczególności cyfr. Przykład: Słownie: sto czterdzieści trzy Cyfry arabskie, system dziesiętny: 143 system dwójkowy (binarny): 10001111 2 7 + 2 3 + 2 2 + 2 1 + 2 0 = 128 + 8 + 4 + 2 + 1 = 143 Cyfry rzymskie: CXLIII Zazwyczaj liczba jest reprezentowana przez skończoną ilość cyfr. Skończoność zapisu za pomocą cyfr powoduje, że nie dla każdej liczby jest on dokładny, np. π = 3.14159..., 1 6 = 0.16667....
Reprezentacja liczby Reprezentacja liczby rzeczywistej Zapis zmiennopozycyjny notacja naukowa Liczbę rzeczywistą można zapisać w postaci: L = m p c, gdzie: m mantysa liczby L, p podstawa systemu pozycyjnego, c cecha liczby L. Przykład: 3472.254 = 0.3472254 10 4 = 0.3472254e+04 Ilość cyfr znaczących (ICZ) Ilość cyfr występująca w zapisie liczby, bez uwzględniania tzw. lewych zer. Przykład: Dla 0.005665, 0.5665, 566.5, 5665000 mamy ICZ = 4. Cecha c określa rząd wielkości liczby. Przykład: 0.768344e-01-0.768332e-01 = 0.000012e-01 Spadek ICZ z 6 do 2 obniżenie dokładności obliczeń.
Pojęcie algorytmu i metody numerycznej Algorytm a metoda numeryczna Algorytm 1 Uporządkowany zestaw czynności zmierzających do osiągnięcia celu, np. przepis kulinarny. 2 Logiczny ciąg operacji, na skutek których dane wejściowe zostają przetworzone w wyniki. Metoda numeryczna Skończona liczba najprostszych działań arytmetycznych (+,,, /) i logicznych określona za pomocą odpowiedniego algorytmu. Pierwsze metody numeryczne powstały znacznie wcześniej niż komputery! Dane (liczbowe) Algorytm metody numerycznej Wyniki (liczbowe)
Błędy operacji arytmetycznych Definicja błędu Inżynier ma do czynienia z błędem, gdy wynik obliczeń (lub pomiaru) odbiega od wyniku dokładnego czyli PRAWIE ZAWSZE (!!!). Definicja - błąd bezwzględny x = x X x - wartość dokładna (ścisła), X - wartość przybliżona, x - błąd bezwzględny Definicja - błąd względny ɛ x = x x = x X x ɛ x - błąd względny
Błędy operacji arytmetycznych Błąd bezwzględny i względny Przykład Wartość błędu bezwzględnego x zależy od rzędu wielkości rozpatrywanych liczb. Przykład: x 1.0101 101.01 10101 1010100 X 0.99901 99.901 9990.1 999010 x 0.01109 1.109 110.90 11090 ɛ x 0.010979 0.010979 0.010979 0.010979 Bardziej obiektywną ocenę dokładności reprezentacji liczb daje wartość błędu względnego ɛ x.
Błędy operacji arytmetycznych Podstawowe źródła błędów Wszystkie zagadnienia rozwiązywane metodami numerycznymi są na ogół obarczone pewnymi błędami. Błędy te można podzielić na: 1 błędy wejściowe (początkowe) 2 błędy obcięcia 3 błędy zaokrągleń 4 błędy modelu 5 błędy metody
Błędy operacji arytmetycznych Błędy początkowe Błędy danych wejściowych Dane liczbowe wprowadzone do pamięci (komputera) odbiegają od dokładnych wartości tych danych. Błędy pomiaru wynikają z pomiarów wielkości fizycznych, np. błąd odczytu wskazań przyrządów, niedoskonałość metody pomiarowej, itp. Błędy reprezentacji wynikają ze sposobu zapisu wartości liczby. Przykład: 1 5 = 0.2 10 = 0.(0011) 2 = 0.001100112 1 3 = 0.(3) 10 = 0.(01) 2 = 0.333333310 = 0.010101012
Błędy operacji arytmetycznych Błędy obcięcia Błędy obcięcia Powstają podczas zmniejszenia liczby działań (teoretycznie nieskończonych), np. przy obliczaniu sumy szeregu. Przykład: f (x) = e x dla x = 5.0 Wzór sumacyjny Wynik dokładny n Wynik przybliżony n i=0 x i i! 5 9.14166667e+01 10 1.46380601e+02 15 1.48379580e+02 20 1.48413147e+02 1.48413159e+02 22 1.48413159e+02
Błędy operacji arytmetycznych Błędy zaokrągleń Błędy zaokrągleń Pojawiają się podczas wykonywania obliczeń. Wynikają z ograniczonej reprezentacji liczb w pamięci komputera. Błędy te możemy zmniejszyć ustalając sposób i kolejność działań lub precyzję obliczeń (nie zawsze można). Przykład: 0.2e+00 + 0.1e+17-0.1e+17 = 0 0.1e+17-0.1e+17 + 0.2e+00 = 0.2e+00
Inne rodzaje błędów Błędy modelu i błędy metody Błędy modelu Wyniki obliczeń określają zachowanie się pewnego rzeczywistego układu fizycznego, chemicznego, itp. Podczas budowania modelu fizycznego (np. konstrukcji) i matematycznego pomija się część efektów, uznaje się je za niestotne dla rozwiązania. Przyjęty model stanowi przybliżenie rzeczywistości. W wyniku obliczeń mogą pojawić się jakieś niezgodności związane z zachowaniem modelu w odniesieniu do układu rzeczywistego, które są następstwem pomyłek (czyli tzw. grubych błędów ). Błędy metody Metody numeryczne, za pomocą których wykonywane są obliczenia, bardzo często są metodami przybliżonymi. Zatem realizacja danego algorytmu może prowadzić do błędu metody. Nie dotyczy to metod dokładnych.
Cechy algorytmów Kiedy algorytm jest poprawny? Poszukiwanie rozwiązania problemu czy zadania za pomocą określonej metody numerycznej ma sens, gdy wiadomo, że to rozwiązanie istnieje i jest jednoznaczne. W przeciwnym wypadku możemy doprowadzić do obliczeń bez końca, co przy zastosowaniu komputera skutkuje zawieszeniem jego działania. W celu wykonania obliczeń i uzyskania wyniku należy sformułować poprawny algorytm. Algorytm poprawnie sformułowany jest wtedy, gdy liczba operacji (działań) będzie skończona. Dane (liczbowe) Algorytm metody numerycznej Wyniki (liczbowe)
Cechy algorytmów Algorytm numerycznie niestabilny Algorytm numerycznie niestabilny Niewielkie błędy wynikające z obliczeń numerycznych (np. zaokrąglenia) na jakimś etapie rosną tak, że w kolejnych etapach znacznie zniekształcają wyniki końcowe. Przykład: Równianie kwadratowe: a x 2 + b x + c = 0, b < 0 ( Pierwiastki: x 1,2 = 1 2 a b ± ), = b 2 4 a c Dane: a = 0.10000e+01, b = -0.20000e+11, c = 0.20000e+01 Wyniki: x 1 = 0.20000e+11, x 2 = 0.00000e+00
Cechy algorytmów Algorytm numerycznie stabilny Algorytm numerycznie stabilny Algorytm, który dla nieco zaburzonych danych zwraca nieco zaburzone wyniki. Zwiększenie dokładności obliczeń pozwala wyznaczyć dowolne istniejące rozwiązanie. Przykład: Równianie kwadratowe: a x 2 + b x + c = 0, b < 0 ( Pierwiastki: x 1 = 1 b + ), = b 2 4 a c, x 2 = c a x 1 2 a Dane: a = 0.10000e+01, b = -0.20000e+11, c = 0.20000e+01 Wyniki: x 1 = 0.20000e+11, x 2 = 0.10000e-09 Nie dopuszczamy do sytuacji, kiedy w wyniku kumulacji błędów możemy uzyskać wysoce przekłamany wynik.
Cechy algorytmów Cechy dobrego algorytmu Niezawodność, zbieżność Zawsze daje wyniki niezależnie od danych. Stabilność Zaburzenia w trakcie realizacji (występowanie błędów) nie wpływają na wynik końcowy. Szybkość Wynik uzyskuje się możliwie jak najszybciej (optymalnie szybko). Można spotkać metody (algorytmy) numeryczne które są szybkie, ale nie są stabilne i... odwrotnie.