METODY NUMERYCZNE. Wykład 2. Analiza błędów w metodach numerycznych. Met.Numer. wykład 2 1

Podobne dokumenty
METODY NUMERYCZNE. Po co wprowadzamy liczby w formacie zmiennoprzecinkowym (floating point)?

METODY NUMERYCZNE. Wykład 1. Wprowadzenie do metod numerycznych

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łan Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Podstawy Informatyki

BŁĘDY OBLICZEŃ NUMERYCZNYCH

Liczby zmiennoprzecinkowe i błędy

Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

Wielkości liczbowe. Wykład z Podstaw Informatyki. Piotr Mika

Metody numeryczne I. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/61

Wprowadzenie do metod numerycznych. Krzysztof Patan

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Metody numeryczne. Janusz Szwabiński. nm_slides.tex Metody numeryczne Janusz Szwabiński 2/10/ :02 p.

Technologie Informacyjne Wykład 4

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

Kod IEEE754. IEEE754 (1985) - norma dotycząca zapisu binarnego liczb zmiennopozycyjnych (pojedynczej precyzji) Liczbę binarną o postaci

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

Algorytmy i struktury danych. Wykład 4

Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci:

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

EMN. dr Wojtek Palubicki

Teoretyczne Podstawy Informatyki

Pracownia Komputerowa wykład VI

Systemy zapisu liczb.

Luty 2001 Algorytmy (7) 2000/2001

BŁĘDY PRZETWARZANIA NUMERYCZNEGO

Zwykle liczby rzeczywiste przedstawia się w notacji naukowej :

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

Powtórzenie podstawowych zagadnień. związanych ze sprawnością rachunkową *

Technologie Informacyjne

Reprezentacja stałoprzecinkowa. Reprezentacja zmiennoprzecinkowa zapis zmiennoprzecinkowy liczby rzeczywistej

Stan wysoki (H) i stan niski (L)

Obliczenia Naukowe. O arytmetyce komputerów, Czyli jak nie dać się zaskoczyć. Bartek Wilczyński 29.

Metoda znak-moduł (ZM)

LICZBY ZMIENNOPRZECINKOWE

Arytmetyka binarna - wykład 6

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Dokładność obliczeń numerycznych

Pracownia Komputerowa wyk ad VI

Zapis liczb binarnych ze znakiem

Wstęp do informatyki- wykład 1 Systemy liczbowe

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

x y

Kod U2 Opracował: Andrzej Nowak

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

WYRAŻENIA ALGEBRAICZNE

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 2 WSTĘP DO INFORMATYKI

Naturalny kod binarny (NKB)

System liczbowy jest zbiorem reguł określających jednolity sposób zapisu i nazewnictwa liczb.

Wprowadzenie do metod numerycznych Wykład 1 Przybliżenia

Arytmetyka stało i zmiennoprzecinkowa

Pracownia Komputerowa wykład IV

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

Metody numeryczne. Postać zmiennoprzecinkowa liczby. dr Artur Woike. Arytmetyka zmiennoprzecinkowa. Uwarunkowanie zadania.

Wstęp do Informatyki

Wykład 2. Informatyka Stosowana. 9 października Informatyka Stosowana Wykład 2 9 października / 42

Zapis zmiennopozycyjny, arytmetyka, błędy numeryczne

Wykład 2. Informatyka Stosowana. 10 października Informatyka Stosowana Wykład 2 10 października / 42

Bardzo łatwa lista powtórkowa

Podstawy Informatyki. Wykład 2. Reprezentacja liczb w komputerze

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

LICZBY ZMIENNOPRZECINKOWE

Adam Korzeniewski p Katedra Systemów Multimedialnych

Arytmetyka zmiennoprzecinkowa wer. 5

Wprowadzenie do informatyki - ć wiczenia

METODY NUMERYCZNE. Wykład 3. Plan. Aproksymacja Interpolacja wielomianowa Przykłady. dr hab.inż. Katarzyna Zakrzewska, prof.agh. Met.Numer.

Pochodna i różniczka funkcji oraz jej zastosowanie do rachunku błędów pomiarowych

Wykład z Technologii Informacyjnych. Piotr Mika

Matematyka liczby zespolone. Wykład 1

Pozycyjny system liczbowy

Prefiksy binarne. kibibit (Kibit) mebibit (Mibit) gibibit (Gibit) tebibit (Tibit) pebibit (Pibit) exbibit (Eibit) zebibit (Zibit) yobibit (Yibit)

2.3. Wyznaczanie wartości wielomianu, pozycyjne systemy liczbowe i reprezentacja danych liczbowych w komputerze

Kod uzupełnień do dwóch jest najczęściej stosowanym systemem zapisu liczb ujemnych wśród systemów binarnych.

Operacje arytmetyczne

1259 (10) = 1 * * * * 100 = 1 * * * *1

Adam Korzeniewski p Katedra Systemów Multimedialnych

Arytmetyka stałopozycyjna

Architektura komputerów

1.1. Pozycyjne systemy liczbowe

Metody numeryczne I Równania nieliniowe

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

SYSTEMY LICZBOWE. SYSTEMY POZYCYJNE: dziesiętny (arabski): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M

Zaawansowane metody numeryczne

Wstęp do informatyki- wykład 1 Systemy liczbowe

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Pracownia Komputerowa wykład V

Plan wynikowy z wymaganiami edukacyjnymi z matematyki w zakresie podstawowym dla klasy 1 zsz Katarzyna Szczygieł

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:

Wstęp do informatyki- wykład 2

Wstęp do metod numerycznych Zagadnienia wstępne Uwarunkowanie. P. F. Góra

Transkrypt:

METODY NUMERYCZNE Wykład. Analiza błędów w metodach numerycznych Met.Numer. wykład 1

Po co wprowadzamy liczby w formacie zmiennoprzecinkowym (floating point)? Przykład 1. W jaki sposób można zapisać liczbę 56.78 na 5-ciu miejscach? 5 6. 7 8 Jak można zapisać najmniejszą liczbę w tym formacie? 0 0 0. 0 0 Jak można zapisać największą liczbę w tym formacie? 9 9 9. 9 9 Met.Numer. wykład

Po co wprowadzamy liczby w formacie zmiennoprzecinkowym (floating point)? Przykład. W jaki sposób można zapisać liczbę 56.786 na 5-ciu miejscach? zaokrąglenie (rounded off) 5 6. 7 9 urwanie (chopped) 5 6. 7 8 Wniosek: Błąd jest mniejszy niż 0.01 Met.Numer. wykład 3

Jaki błąd popełniamy? Błąd bezwzględny o wielkość dokładna lub rzeczywista o Błąd względny o o Obliczenia: ε t o o 56.79 56.786 100 % 100% 56.786 0.001558% Met.Numer. wykład 4

Jaki błąd popełniamy? Względne błędy wielkości małych są duże. Porównajmy: ε t o o 56.79 56.786 100 % 100% 56.786 0.001558% ε t o o 3.55 3.546 100 % 100% 3.546 0.1180% Błędy bezwzględne są jednakowe: o 56.786 56.79 3.546 3.55 0.004 Met.Numer. wykład 5

Jak utrzymać błędy względne na podobnym poziomie? Można przedstawić liczbę w postaci: znak mantysa 10 wykł lub znak mantysa wykł czyli 56.78 zapisujemy jako + 0.003678 zapisujemy 56.78 zapisujemy.5678 10 jako+ 3.678 10 3 jako.5678 10 Met.Numer. wykład 6

Co zyskujemy stosując zapis zmiennoprzecinkowy? Zwiększa się zakres liczb, które możemy zapisać Jeżeli użyjemy tylko 5 miejsc do zapisu liczby (dodatniej o dodatnim wykładniku) to najmniejsza liczba zapisana to 1 a największa 9.999 10 9. 9 9 9 9 9 mantysa wykładnik Zakres możliwych do zapisania liczb zwiększył się od 999.99 do 9.999 10 9. Met.Numer. wykład 7

Co tracimy stosując zapis zmiennoprzecinkowy? Dokładność (precyzję). Dlaczego? Liczba 56.78 będzie przedstawiona jako.5678 10 i na pięciu miejscach: 5 6 8 mantysa wykładnik Wystąpi błąd zaokrąglenia. Met.Numer. wykład 8

Przykład do samodzielnego rozwiązania 1. Proszę przedstawić liczbę 57639.78 na pięciu miejscach w podobny sposób jak w poprzednim przykładzie: mantysa wykładnik. Proszę oszacować błąd bezwzględny i względny zaokrąglenia 3. Porównać z przykładem poprzednim (56.78) i wyciągnąć wnioski Met.Numer. wykład 9

Rozwiązanie przykładu do samodzielnego rozwiązania 1. Liczba 57639.78 zapisana na pięciu miejscach: 5 7 6 3 5 mantysa wykładnik. Błąd bezwzględny przybliżenia wynosi 9.78 a względny 0.005167% 3. Dla liczby 56.78 te błędy wynoszą odpowiednio: 0.0 (mniejszy) i 0.0077888% (porównywalny) Met.Numer. wykład 10

Arytmetyka zmiennoprzecinkowasystem dziesiętny Postać liczby e σ m 10 wykładnik będący liczbą całkowitą znak liczby (-1 lub +1) mantysa (1) 10 m<(10) 10 Przykład.5678 10 σ 1 m.5678 e Met.Numer. wykład 11

Arytmetyka zmiennoprzecinkowasystem dwójkowy Postać liczby e σ m wykładnik będący liczbą całkowitą znak liczby (0 dla dodatniej lub 1 dla ujemnej liczby) Przykład ( 1.1011011) (101) 1 nie jest zapisywane mantysa (1) m<() σ 0 m 1011011 e 101 Met.Numer. wykład 1

Przykład do samodzielnego rozwiązania Mamy słowo 9-bitowe pierwszy bit odpowiada znakowi liczby, drugi bit znakowi wykładnika, następne cztery bity kodują mantysę, ostatnie trzy bity zapisują wykładnik 0 0 znak liczby znak wykładnika mantysa wykładnik Znajdź liczbę (w postaci dziesiętnej), która jest przedstawiona w podany sposób. Met.Numer. wykład 13

Odpowiedź ( 54.75) ( 110110.11) ( 1.1011011) 10 ( 1.1011) ( ) 101 5 0 0 1 0 1 1 1 0 1 nie jest zapisywane ( 54) 10 Met.Numer. wykład 14

Co to jest ε maszyny cyfrowej? Dla każdej maszyny cyfrowej definiuje się parametr epsilon ε określający dokładność obliczeń: ε N t gdzie: N (w zapisie dwójkowym), N10 (w zapisie dziesiętnym), t jest liczbą bitów w mantysie liczby ε jest tym mniejsze im więcej bitów przeznaczono na reprezentowanie mantysy M Epsilon ε można traktować jako parametr charakteryzujący dokładność obliczeniową maszyny (im mniejsze ε tym większa dokładność). Podwójna precyzja (Fortran) ε DP ε Met.Numer. wykład 15

Co to jest ε maszyny cyfrowej? Epsilon ε jest to najmniejsza liczba, która po dodaniu do 1.000 produkuje liczbę, którą można przedstawić jako różną od 1.000. Przykład: słowo dziesięciobitowe 0 0 0 0 0 0 0 0 0 0 ( 1) 10 M N w znak liczby wykładnik mantysa następna znak wykładnika 0 0 0 0 0 0 0 0 0 1 1.0001 1. 065 liczba ( ) ( ) 10 mach 1.065 1 4 Met.Numer. wykład 16

Pojedyncza precyzja w formacie IEEE-754 (Institute of Electrical and Electronics Engineers) 3 bity dla pojedynczej precyzji 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 znak (s) wykładnik (e ) mantysa (m) Liczba ( ) e' 17 1 m. s ( 1) Met.Numer. wykład 17

Przykład 1 1 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Sign (s) Biased Eponent (e ) Mantissa (m) Value ( ) s ( ) e' 17 1 1. m ( ) 1 ( ) (10100010) 17 1 1.10100000 ( ) ( ) 16 17 1 1.65 ( ) ( ) 35 10 1 1.65 5.5834 10 Met.Numer. wykład 18

Wykładnik dla 3-bitowego standardu IEEE-754 8 bitów wykładnika oznacza 17 e 18 W istocie 1 e 54 0 e 55 Ustalone przesunięcie wykładnika wynosi 17 a zatem e 0 e 55 Liczby i są zarezerwowane dla przypadków specjalnych Zakres wykładnika 16 e 17 Met.Numer. wykład 19

Reprezentacja liczb specjalnych e 0 e 55 e same zera same jedynki s m Reprezentuje 0 same zera same zera 0 1 same zera same zera -0 0 same jedynki 1 same jedynki 0 lub 1 same jedynki same zera same zera różne od zera NaN Met.Numer. wykład 0

Format IEEE-754 Największa liczba ( ) 17 38 1.1...1 3.40 Najmniejsza liczba 10 ( ) 16 38 1.00...0.18 10 Epsilon maszyny cyfrowej ε mach 3 1.19 10 7 Met.Numer. wykład 1

Analiza błędów Jeżeli nie znamy wielkości dokładnej o możemy obliczać błąd bezwzględny przybliżenia (ang. approimate error) jako różnicę wartości uzyskanych w kolejnych przybliżeniach : Błąd względny ε a : n n 1 ε a n n 1 n Met.Numer. wykład

Przykład Dla 0.5 f ( ) 7e w f dla h 0. 3 a) () f () b) dla h 0. 15 znajdź c) błąd przybliżenia Rozwiązanie f ' ( ) f ( + h) h f ( ) a) h 0.3 f '() f ( + 0,3) 0,3 f () 7e 0,5(,3) 7e 0,3 0,5() 10,65 Met.Numer. wykład 3

Przykład (cd) b) h 0.15 f '() f ( + 0,15) 0,15 f () 7e 0,5(,15) 7e 0,15 0,5() 9,880 c) ε a n n 1 n ε a 9,880 10,65 9,8800 0,0389 Błąd procentowy 3,89% Met.Numer. wykład 4

Błąd względny jako kryterium zakończenia procedury iteracyjnej Jeżeli błąd względny jest mniejszy lub równy od pewnej określonej wcześniej liczby to dalsze iteracje nie są konieczne ε a ε s Jeżeli wymagamy przynajmniej m cyfr znaczących w wyniku to ε a 0.5 10 m Met.Numer. wykład 5

Podsumowanie przykładu ε a 0.5 10 m h f () 0.3 10.65 N/A 0 0.15 9.8800 0.03894 1 0.10 9.7559 0.0171 1 0.01 9.5378 0.086 1 0.001 9.5164 0.005 εa m Wartość dokładna 9.514 Met.Numer. wykład 6

Źródła błędów w obliczeniach numerycznych 1. Błędy wejściowe (błędy danych wejściowych). Błędy obcięcia (ang. truncation error) 3. Błędy zaokrągleń (ang. round off error) Błędy wejściowe występują wówczas gdy dane wejściowe wprowadzone do pamięci komputera odbiegają od dokładnych wartości tych danych. Błędy obcięcia są to błędy wynikające z procedur numerycznych przy zmniejszaniu liczby działań. Błędy zaokrągleń są to błędy, których na ogół nie da się uniknąć. Powstają w trakcie obliczeń i można je zmniejszać ustalając umiejętnie sposób i kolejność wykonywania zadań. Met.Numer. wykład 7

Błędy wejściowe Źródła błędów wejściowych: dane wejściowe są wynikiem pomiarów wielkości fizycznych skończona długość słów binarnych i konieczność wstępnego zaokrąglania wstępne zaokrąglanie liczb niewymiernych Przybliżanie liczb, których nie można wyrazić dokładnie dokonuje się poprzez: urywanie (ang. chopping) zaokrąglanie (ang. rounding) Met.Numer. wykład 8

Przykład: π 3,1415 π 3,1415965359 π 3,1416 urywanie zaokrąglanie Zaokrąglanie prowadzi do mniejszego błędu niż urywanie. Met.Numer. wykład 9

Błąd obcięcia Spowodowany jest użyciem przybliżonej formuły zamiast pełnej operacji matematycznej: przy obliczaniu sum nieskończonych szeregów przy obliczaniu wielkości będących granicami (całka, pochodna) W lim Δ 0 F Δ 1 1 Fd praca Met.Numer. wykład 30

Szereg Taylora Jeżeli funkcja jest ciągła i wszystkie pochodne f, f, f n istnieją w przedziale [, +h] to wartość funkcji w punkcie +h można obliczyć jako: f ( + h) f ( ) + f ( ) h + f ( ) f ( )! h + 3! h 3 +L Szereg Maclaurina jest to rozwinięcie wokół 0 f h! h 3! ( 0 + h) f ( 0) + f ( 0) h + f ( 0) + f ( 0) + L+ 3 Met.Numer. wykład 31

Przykłady Typowe rozwinięcia w szereg wokół zera cos( ) 1! + 4 4! 6 6! +L sin( ) 3 3! + 5 5! 7 7! +L e 1+ +! + 3 3! +L Met.Numer. wykład 3

Met.Numer. wykład 33 Błąd obcięcia w szeregu Taylora ( ) ( ) ( ) ( ) ( ) ( ) ( ) R n h f h f h f f h f n n n + + + + + +!! '' L reszta ( ) ( ) () c f n h R n n n 1 1 1)! ( ) ( + + + h c + < <

Przykład Rozwinięcie w szereg e wokół 0 e 1+ +! + 3 3! + +L Im większa ilość wyrazów jest uwzględniana w rozwinięciu, tym błąd obcięcia jest mniejszy i możemy znaleźć tym dokładniejszą wartość wyrażenia Pytanie: Ile należy uwzględnić wyrazów aby otrzymać przybliżoną wartość liczby e z błędem mniejszym niż 10-6? 1 e 1 1+ 1+! 3 1 + 3! 1 + 4! Met.Numer. wykład 34 4 4! 1 + 5! + 1 1 1 1 + + + + 6 4 10 4 5 5 5! +L

Rozwiązanie 0, h 1, f ( ) e R n n+ 1 h ( n + 1)! ( n+ 1 ( ) f ) () c R n ( 0) 1 n+ 1 ( n + ) 1! f ( n+ 1 ) () c ale < c < + h 0 < c < 0 + 1 0 < c < 1 ( n n+ () 1 1 ( + 1) e n! 1 < R ( 0) n < + 1)! ( n c e + 1)! Met.Numer. wykład 35

Rozwiązanie ( e n + 1)! < 10 6 założony poziom błędu 6 ( n + 1)! > 10 e ( n + 1)! > 10 6 3 n 9 Co najmniej 9 wyrazów musimy zastosować aby otrzymać wartość błędu na poziomie 10-6 Met.Numer. wykład 36

Przykład tragicznego błędu zaokrąglenia 5 lutego 1991 w Dhahran, Arabia Saudyjska, zginęło 8 amerykańskich żołnierzy w wyniku ataku irackiej rakiety Scud. System obrony Patriot nie wykrył zagrożenia. Dlaczego? System oblicza powierzchnię, którą powinien skanować na podstawie prędkości obiektu i czasu ostatniej detekcji. Zegar wewnętrzny był ustawiony na pomiar co 1/10 sekundy. Długość słowa 4 bity. Z powodu zaokrągleń błąd bezwzględny wyniósł 9.5 10-8 s a po 100 godzinach: 9.5 10 8 10 60 60 100 0.34 sec Przesunięcie obliczone na tej podstawie 687 m. Obiekt jest uznany poza zakresem gdy przesunięcie wynosi 137 m Met.Numer. wykład 37

Działania arytmetyczne 1. Dodawanie i odejmowanie Aby dodać lub odjąć dwie znormalizowane liczby w zapisie zmiennoprzecinkowym, wykładniki w powinny być zrównane poprzez odpowiednie przesunięcie mantysy. Przykład: Dodać 0,4546 10 5 do 0,5433 10 7 przesuwamy 0,0045 10 7 +0,5433 10 7 0,5478 10 7 Wniosek: Tracimy pewne cyfry znaczące Met.Numer. wykład 38

. Mnożenie Działania arytmetyczne Przykład: Pomnożyć 0,5543 10 1 przez 0,4111 10-15 Mnożymy mantysy i wykładniki w dodajemy. 0,5543 10 1 0,4111 10-15 0,7873 10-3 0,78 10-3 3. Dzielenie Przykład: Podzielić 0,1000 10 5 przez 0,9999 10 3 0,1000 10 5 /0,9999 10 3 0,1000 10 Za każdym razem tracimy pewne cyfry znaczące co jest źródłem błędu Met.Numer. wykład 39

Kolejność działań (a+b)-c (a-c)+b brak przemienności, łączności a(b-c) (ab-ac) brak rozdzielności mnożenia względem dodawania Przykład: a 0,5665 10 1, b0,5556 10-1, c0,5644 10 1 (a+b)0,5665 10 1 +0,5556 10-1 0,5665 10 1 +0,0055 10 1 0,570 10 1 (a+b)-c0,570 10 1-0,5644 10 1 0,7600 10-1 (a-c)0,5665 10 1-0,5644 10 1 0,001 10 1 0,100 10-1 (a-c)+b0,100 10-1 +0,5556 10-1 0,7656 10-1 Met.Numer. wykład 40

Wnioski z dotychczasowych rozważań W wielu przypadkach można uniknąć błędów wejściowych i błędów obcięcia. W trakcie obliczeń pojawiają się nowe błędy (błędy zaokrągleń), których nie da się uniknąć. Błędy zaokrągleń można zmniejszyć ustalając umiejętnie sposób i kolejność wykonywania działań. Met.Numer. wykład 41

Zadanie do samodzielnego rozwiązania zapisu części ułamkowej liczby. Różnica akumuluje się co 1/10 sekundy przez dobę. Jaka jest jej wartość? Met.Numer. wykład 4

Propagacja błędów 140 y 10 100 80 60 40 0 u(y) funkcja y f() styczna dy/d u (y) u() u() dy d 0 0 4 Met.Numer. wykład 43

Metoda różniczki zupełnej Dla wielkości złożonej yf( 1,,... n ) gdy niepewności maksymalne Δ 1, Δ,... Δ n są małe w porównaniu z wartościami zmiennych 1,,... n niepewność maksymalną wielkości y wyliczamy z praw rachunku różniczkowego: y y Δ y Δ1 + Δ +... 1 + y n Δ n Met.Numer. wykład 44

Przykład Oszacować błąd pomiaru gęstości ρ kuli o masie m i promieniu R ρ( m, R) (4 m 3)πR 3 błąd bezwzględny Δρ ρ Δm m + ρ ΔR R ale ρ m 1 ( ) 3 4 3 πr ρ R 3 ( ) 4 4 3 πr błąd względny ε ε + 3ε ρ m R Met.Numer. wykład 45

Nie można obecnie wyświetlić tego obrazu. Błędy działań arytmetycznych Błąd sumy A a ± Δa B b ± Δb błędy bezwzględne składników sumy A + B a + b ± Δa ± Δb a + b ± Δ( a + b) błąd bezwzględny sumy Zatem błąd bezwzględny sumy (różnicy) jest równy sumie błędów składników. Δ ( a ± b) Δa + Δb Met.Numer. wykład 46

Błędy działań arytmetycznych Błąd względny sumy ε a+ b Δa a + Δb + b Błąd względny różnicy ε a b Δa a + Δb b Błąd względny różnicy może być duży nawet gdy błędy względne odjemnej i odjemnika są małe. Należy unikać odejmowania prawie równych liczb przybliżonych! Zjawisko zwane redukcją cyfr znaczących Szczególnie istotne przy obliczeniach ilorazów różnicowych przybliżających pochodne funkcji, pierwiastków równania kwadratowego przy dominującym współczynniku przy pierwszej potędze, itp. Met.Numer. wykład 47

Koncepcja zera Tracimy dokładny sens liczby 0 jeśli dokonujemy obliczeń numerycznych + 0 pierwiastkami są 1± 3 w przybliżeniu 0,730 10 o -0.73 10 1 Sprawdzić, że po podstawieniu rozwiązań przybliżonych nie otrzymujemy dokładnie liczby zero Powinno się zatem unikać odejmowania bliskich sobie liczb i warunek w pętli nie powinien być ustawiany do zera, if a-b<ε Met.Numer. wykład 48

Wnioski praktyczne Przy obliczeniach numerycznych korzystne jest: ponowne rozwiązanie tego samego zagadnienia inną metodą lub taką samą metodą, ale z inną kolejnością operacji ponowne rozwiązanie zagadnienia przy nieznacznej zmianie danych wejściowych Met.Numer. wykład 49

Zadania i algorytmy numeryczne Zadanie numeryczne wymaga jasnego i niedwuznacznego opisu powiązania funkcjonalnego między danymi wejściowymi czyli zmiennymi niezależnymi zadania i danymi wyjściowymi, tj. szukanymi wynikami. Zadanie numeryczne jest problemem polegającym na wyznaczeniu wektora wyników w na podstawie wektora danych a a D odwzorowanie W w zadanie dobrze postawione r w r W (a) jednoznaczne przyporządkowanie Met.Numer. wykład 50

Zadania i algorytmy numeryczne Algorytm numeryczny jest pełnym opisem poprawnie określonych operacji przekształcających wektor dopuszczalnych danych wejściowych (zbiór DN) na wektor danych wyjściowych. Algorytm jest poprawnie sformułowany gdy liczba niezbędnych działań będzie skończona DN D w WN( a, ε) a DN odwzorowanie WN w wektor wyniku zależy od dokładności obliczeniowej ε maszyny cyfrowej Met.Numer. wykład 51

Przykłady algorytmów Dana jest liczba zespolona a+iy. Obliczyć 1/a Algorytm I: 1. t y / (tangens fazy liczby a). 3. a + Re 1 y 1 a / a / + (kwadrat modułu liczby a) 1 t 1 t Im 1 1 t t a / a / 1+ Zadanie jest dobrze postawione, jeżeli: + y 0 czyli: D R {(0,0)} Algorytm jest poprawnie sformułowany (11 niezbędnych działań) Met.Numer. wykład 5

Przykłady algorytmów Nie dla każdej pary danych (,y) 0 można znaleźć rozwiązanie zadania stosując algorytm I. 1. Wystąpi nadmiar liczb zmiennopozycyjnych (dla 0 ale także z powodu zaokrąglenia do zera). Nadmiar może nastąpić może już w pierwszym kroku gdy 10-5 i y10 5 z powodu dzielenia y/ 3. Dla 0, istniejącego dla y 0 rozwiązania nie można wyznaczyć stosując ten algorytm. Wzrost dokładności obliczeń nie zmieni tego faktu. Algorytm I nie jest numerycznie stabilny Met.Numer. wykład 53

Przykłady algorytmów Dana jest liczba zespolona a+iy. Obliczyć 1/a Algorytm II: 1. r Re 1 a + y y. u Im 1 a y + y Algorytm II jest poprawnie sformułowany (9 niezbędnych działań) Algorytm II jest numerycznie stabilny co wynika z ciągłości wzorów dla + y 0 Met.Numer. wykład 54

Schemat Hornera Przykład wzoru rekurencyjnego Aby obliczyć wartość wielomianu: n n 1 + a1 +... + an 1 p ( ) + w danym punkcie z, korzystamy ze schematu: p z + p + 1 a 1 zp1 a p + n zpn 1 ) p n p ( z co odpowiada obliczaniu wartości wyrażenia: { z[ z...( z + a1 ) + a] +... + a n 1} an z + a n a n Met.Numer. wykład 55

Schemat Hornera Schemat Hornera umożliwia znaczne zmniejszenie liczby działań arytmetycznych. W schemacie Hornera wykonujemy n-1 mnożeń i n dodawań. Obliczając bezpośrednio: zz... z + + a1 z... z +... + an 1z a o n razy n-1 razy wykonujemy (n-1)(n+)/ mnożeń i n dodawań. Oszacowanie wielkości błędów zaokrągleń jest identyczne dla obu metod Met.Numer. wykład 56

Schemat Hornera Przykład: oblicz 0 3 p ( z) a z + a z + a z + a 1 3 w schemacie Hornera dla obliczeń ręcznych: p ( z) (( a z + a 0 z + a1) z + a) a 0 a 1 a a 3 3 zb 0 zb 1 zb b 0 b 1 b b 3 p(z)b 3 Zadanie: Oblicz p(8) dla p() 3 ++7 0 1 7 16 18 103 16 19 1039 p(8)1039 Met.Numer. wykład 57

Schemat blokowy b:a 0 i:0 i:i+1 b:a i +zb nie in? tak wyjście Met.Numer. wykład 58

Uwarunkowanie zadania i stabilność algorytmów Algorytm obliczeniowy jest numerycznie stabilny, jeżeli dla dowolnie wybranych danych a 0 D istnieje taka dokładność obliczeń ε 0, że dla ε<ε 0 mamy a 0 DN( ε ) oraz WN ( a, ε) W ( a ) lim 0 0 ε 0 Algorytm obliczeniowy jest numerycznie stabilny wtedy, gdy zwiększając dokładność obliczeń można wyznaczyć ( z dowolną dokładnością) dowolne istniejące rozwiązanie zadania. Met.Numer. wykład 59

Uwarunkowanie zadania i stabilność algorytmów Uwarunkowaniem zadania nazywamy cechę, która mówi jak bardzo wynik dla zaburzonego wektora danych różni się od wyniku dla dokładnego wektora danych czyli: W(a + δa) W(a) Wskaźnik uwarunkowania zadania B(a) jest to liczba, dla której jest spełniony warunek: δw w B(a) δa a δw WN( a, ε) W ( a) Met.Numer. wykład 60

Wskaźnik uwarunkowania zadania Przyjmijmy względny błąd wielkości ~ ~ Względny błąd wielkości f() f ( ) f f ( ~ ) ( ~ ) f '( ~ )( f ( ~ ) ~ ) Wskaźnik uwarunkowania: ~ f '( ~ ) f ( ~ ) Met.Numer. wykład 61

Wskaźnik uwarunkowania zadania Przykład f ( ) Wskaźnik uwarunkowania: ~ f f '( ~ ) ( ~ ) 1 1 zadanie dobrze uwarunkowane Met.Numer. wykład 6

Wskaźnik uwarunkowania zadania Przykład f ( ) 10 1 Wskaźnik uwarunkowania: ~ f f '( ~ ) ( ~ ) 1 zadanie źle uwarunkowane w pobliżu 1 i -1 Met.Numer. wykład 63