05 Arytmetyka komputerów Blędy numeryczne

background image

Arytmetyka komputerów

wer. 1.2

Wojciech Myszka

23 pazdziernika 2008

background image

Cz¦±¢ I

Liczby binarne i arytmetyka komputerów

background image

Arytmetyka komputerów

I

Zapis liczb

dwójkowy.

I

Ka»da z liczb zapisywana jest za pomoc¡ cyfr 0 i 1.

I

Ukªad jest pozycyjny

waga cyfry zale»y od miejsca,

w którym zostaªa ustawiona.

I

Najmniej znacz¡ce miejsca s¡ po stronie prawej. . .

I

1010 to 1 × 2

3

+

0 × 2

2

+

1 × 2

1

+

0 × 2

0

czyli 8 + 0 + 2 + 0 = 10

I

NB liczby parzyste maj¡ zero na ko«cu, nieparzyste

1.

I

Arytmetyka dwójkowa

bardzo prosta.

I

0 + 0 = 0

I

1 + 0 = 0 + 1 = 1

I

1 + 1 = 10

I

1 × 1 = 1

I

1 × 0 = 0 × 1 = 0

I

0 × 0 = 0

background image

Operacje logiczne

(Podstawowe) operacje logiczne to suma logiczna (OR), iloczyn
logiczny (AND), negacja (NOT), ró»nica symetryczna (XOR)

OR 0 1

0 0 1
1 1 1

AND 0 1

0 0 0
1 0 1

XOR 0 1

0 0 1
1 1 0

background image

Arytmetyka komputera

Arytmetyka klasyczna

Jeste±my przyzwyczajeni do nast¦puj¡cych rzeczy :

1.

Je»eli x 6= 0 to ∀a a + x 6= a

2.

a + b + · · · + z = z + y + · · · + b + a

3.

a, b ∈ < a < b c : a < c < b

W arytmetyce komputerowej powy»sze zasady nie obowi¡zuj¡!

background image

Arytmetyka komputera

Arytmetyka klasyczna

Jeste±my przyzwyczajeni do nast¦puj¡cych rzeczy :

1.

Je»eli x 6= 0 to ∀a a + x 6= a

2.

a + b + · · · + z = z + y + · · · + b + a

3.

a, b ∈ < a < b c : a < c < b

W arytmetyce komputerowej powy»sze zasady nie obowi¡zuj¡!

background image

Arytmetyka komputera

Arytmetyka klasyczna

Jeste±my przyzwyczajeni do nast¦puj¡cych rzeczy :

1.

Je»eli x 6= 0 to ∀a a + x 6= a

2.

a + b + · · · + z = z + y + · · · + b + a

3.

a, b ∈ < a < b c : a < c < b

W arytmetyce komputerowej powy»sze zasady nie obowi¡zuj¡!

background image

Arytmetyka komputera

Arytmetyka klasyczna

Jeste±my przyzwyczajeni do nast¦puj¡cych rzeczy :

1.

Je»eli x 6= 0 to ∀a a + x 6= a

2.

a + b + · · · + z = z + y + · · · + b + a

3.

a, b ∈ < a < b c : a < c < b

W arytmetyce komputerowej powy»sze zasady nie obowi¡zuj¡!

background image

Liczby zmiennoprzecinkowe

1.

Arytmetyka

1.1

Liczby naturalne

1.2

Liczby caªkowite

1.3

Liczby wymierne

1.4

Liczby rzeczywiste

2.

Komptery

2.1

Liczby caªkowite ( integer )

2.2

Liczby staªoprzecinkowe

2.3

Liczby zmiennoprzecinkowe

background image

Liczby caªkowite I

I

Sytuacja dosy¢ klarowna.

I

Na n bitach mo»emy zapisa¢ liczby caªkowite dodatnie z
zakresu od zera do 2

n

1

I

Jest pewien problem z liczbami ujemnymi: trzeba
zarezerwowa¢ miejsce na znak

I

Trzeba to tak zrobi¢, »eby podstawowe operacje
(dodawanie, odejmowanie i mno»enie,. . . ) byªy
wykonywane tak samo gdy argumenty s¡ dodatnie jak i
wtedy gdy s¡ ujemne.

I

Ukªad uzupeªnieniowy to zaªatwiª.

background image

Liczby caªkowite II

I

Czasami korzysta si¦ z kodu BCD (Binary Coded Decimal
(cyfry) dziesi¦tne kodowane binarnie: liczba zapisywana
jest w ukªadzie dziesi¦tnym (za pomoc¡ cyfr dziesi¦tnych),
ale poszczególne cyfry kodowane s¡ binarnie
321

(

10)

zapisywane jest jako 0011 0010 0001

2

background image

Liczby ujemne

1.

Trzeba zarezerwowa¢ jeden bit na zapami¦tanie znaku!

2.

Wariant najprostszy 3

0

000011

3.

Wariant najprostszy −3

1

000011

Jest to zapis znak moduª

4.

Ale jak dodawa¢ takie liczby?

background image

Liczby ujemne

Tablica odejmowania:

0 1

0

0 1

1

1

0

(Zakªadamy, »e operujemy na liczbach czterobitowych!)

0011 − 1 = 0010

0010 − 1 = 0001

0001 − 1 = 0000

0000 − 1 = 1111

Zatem −1 to 1111 (czterobitowo!)

background image

Liczby ujemne

Dokonajmy prostego sprawdzenia:

5 + (−1)

0 1 0 1
1 1 1 1

1

0 1 0 0

background image

Liczby ujemne

Dokonajmy prostego sprawdzenia:

5 + (−1)

0 1 0 1
1 1 1 1

1

0 1 0 0

background image

Dygresja

Liczby dziesi¦tne, dwucyfrowe:

3 3
9 9

1

3 2

background image

Dygresja

Liczby dziesi¦tne, dwucyfrowe:

3 3
9 9

1

3 2

background image

Negacja liczby

Mnemotechniczny algorytm negacji jest bardzo prosty:

negujemy wszytskie bity i powstaª¡ liczb¦ zwi¦kszamy o 1:

1 to 0001
negacje: 1110
zwi¦kszenie o 1: 1111
2 to 0010
negacja: 1101
zwi¦kszenie o 1: 1110
sprawdzenie 5 + (−2)

0 1 0 1
1 1 1 0

1

0 0 1 1

background image

Liczby staªoprzecinkowe

1.

Liczby w których na zapami¦tanie cz¦±ci caªkowitej
przeznacza si¦ kilka(na±cie/dziesi¡t) bitów

2.

Na zapami¦tanie cz¦±ci uªamkowej równie» u»ywa si¦
kilku(nastu?) bitów:

1 0 1 0 , 1 0 1 0

co odczytujemy jako:
1∗2

3

+

0∗2

2

+

1∗2

1

+

0∗2

0

+

1∗2

1

+

0∗2

2

+

1∗2

3

+

0∗2

4

lub 8 + 2 +

1

2

+

1

8

czyli 10,625

3.

U»ywany bardzo rzadko ( nanse??)

4.

Z matematycznego punktu widzenia s¡ to liczby wymierne

5.

Jak w tej postaci zapisa¢ liczb¦ 1,1

background image

Liczby zmiennoprzecinkowe I

1.

S¡ to liczby zapisywane (kodowane) w sposób podobny do
zananego nam: c = 299792458 ∼ 3 ∗ 10

8

m/s

2.

Czyli w postaci mantysa (2,99792458) plus wykªadnik 8,
zatem 2,99792458*10

8

albo inaczej 2,99792458 e8

3.

W przypadku komputerów podstawa kodowania (tak
mantysy jak i wykªadnika) to 2!

4.

Dodatkowo liczby zapisywane s¡ zawsze w postaci

znormalizowanej czyli takiej, »e cyfra przed przecinkiem

(kropk¡) dziesi¦tnym jest zawsze z zakresu mi¦dzy 1 a 9. (

a

w ukªadzie dwójkowym zawsze jest równa 1!

)

5.

Na zapami¦tanie mantysy i wykªadnika przeznaczana jest
zawsze sko«czona liczba bitów.

background image

Liczby zmiennoprzecinkowe II

6.

Z matematycznego punktu widzenia s¡ to liczby wymierne.

7.

Sposób zapisu liczb zmiennoprzecinkowych reguluje
standard IEE-754.

background image

Par¦ problemów

1.

Zawsze(?) ograniczona liczba bitów przeznaczona na
zapami¦tanie liczby (ale znane s¡ specjalne programy,
które staraj¡ si¦ te ograniczenie przezwyci¦»a¢).

2.

Wynik dziaªa« arytmetycznych cz¦sto prowadzi do
powstania nadmiaru (czyli przekroczenia maksymalnej
dopuszczalnej warto±ci liczb).

3.

Wi¦kszo±¢ liczb które (z przyzwyczajenia) traktujemy jako
dokªadne, nie ma dokªadnej reprezentacji dwójkowej (0,5
jest OK ale 0,1 ju» nie).

background image

Operacje na liczbach zmiennoprzecinkowych I

1.

Mno»enie.
Jest proste: mno»ymy mantysy i dodajemy wykªadniki.
1, 33 e+3 ∗ 1, 55 e+7 = 2, 0615 e+10
Nast¦pnie trzeba wynik obci¡¢ do odpowiedniej liczby
miejsc znacz¡cych (w naszym przypadku niech to b¦d¡ trzy
cyfry)

2, 06 e+10

W przyku liczb binarnych b¦dzie podobnie.
Uwaga: czasami mo»e zdarzy¢ si¦ problem: w wyniku
mno»enia liczba mo»e ulec denormalizacji

wówczas

trzeba j¡ znormalizowa¢, zaokr¡gli¢ i skorygowa¢
wykªadnik: 5, 55 e+0 ∗ 6, 33e+0 = 35, 13 e+0 = 3, 51 e+1

background image

Operacje na liczbach zmiennoprzecinkowych II

2.

Dzielenie.
Post¦pujemy analogicznie jak w przypadku mno»enie
(dzielimy mantysy, odejmujemy wykªadniki). W przypadku

denormalizacji post¦pujem jak wy»ej

1, 33 e+0/9, 88 e+0 = 0, 134615385 e+0 = 1, 35 e−1

3.

Dodawanie.
Sprawa nieco bardziej skomplikowana. Aby dodawa¢ liczby
zmiennoprzecinkowe trzeba je najpierw

zdenormalizowa¢ i doprowadzi¢ do równo±ci

wykªadników:
1, 22 e+0 + 3, 35 e − 4 = 1, 22 e+0 + 0, 000335 e+0 =
1, 220335 e+0 = 1, 22 e+0
a nast¦pnie zaokr¡gli¢ i znormalizowa¢. . .

background image

Operacje na liczbach zmiennoprzecinkowych III

4.

Odejmowanie.
Identycznie jak dodawanie.

background image

Przykªady oblicze«

Na stronie [

1

] znale¹¢ mo»na przykªadowe programy i wyniki ich

oblicze«.

background image

Konwersje

Dziesi¦tny do dwójkowego

Liczby caªkowite:
Liczb¦ dzielimy przez dwa zapisuj¡c reszty z dzielenia:

10

5 0
2 1
1 0
0 1

Reszty z dzielenia zapisujemy od ko«ca otrzymuj¡c 1010

background image

Konwersje

Dziesi¦tny do dwójkowego

Liczby caªkowite:
Liczb¦ dzielimy przez dwa zapisuj¡c reszty z dzielenia:

10

5 0

2 1
1 0
0 1

Reszty z dzielenia zapisujemy od ko«ca otrzymuj¡c 1010

background image

Konwersje

Dziesi¦tny do dwójkowego

Liczby caªkowite:
Liczb¦ dzielimy przez dwa zapisuj¡c reszty z dzielenia:

10

5 0
2 1

1 0
0 1

Reszty z dzielenia zapisujemy od ko«ca otrzymuj¡c 1010

background image

Konwersje

Dziesi¦tny do dwójkowego

Liczby caªkowite:
Liczb¦ dzielimy przez dwa zapisuj¡c reszty z dzielenia:

10

5 0
2 1
1 0

0 1

Reszty z dzielenia zapisujemy od ko«ca otrzymuj¡c 1010

background image

Konwersje

Dziesi¦tny do dwójkowego

Liczby caªkowite:
Liczb¦ dzielimy przez dwa zapisuj¡c reszty z dzielenia:

10

5 0
2 1
1 0
0 1

Reszty z dzielenia zapisujemy od ko«ca otrzymuj¡c 1010

background image

Konwersje

Dziesi¦tny do dwójkowego

Liczby caªkowite:
Liczb¦ dzielimy przez dwa zapisuj¡c reszty z dzielenia:

10

5 0
2 1
1 0
0 1

Reszty z dzielenia zapisujemy od ko«ca otrzymuj¡c 1010

background image

Konwersje

Dziesi¦tny do dwójkowego

Cz¦±¢ uªamkowa:
Liczb¦ mno»ymy przez dwa i zapisujemy cz¦±¢ caªkowit¡:

,33

0

,66

1

,32

0

,64

1

,28

0

,56

1

,12

0

,24

0

,48

0

,96

1

,92

1

,84

1

,68

0,010101000111

2

=0,329833984375

10

background image

Konwersje

Dziesi¦tny do dwójkowego

Cz¦±¢ uªamkowa:
Liczb¦ mno»ymy przez dwa i zapisujemy cz¦±¢ caªkowit¡:

,33

0

,66

1

,32

0

,64

1

,28

0

,56

1

,12

0

,24

0

,48

0

,96

1

,92

1

,84

1

,68

0,010101000111

2

=0,329833984375

10

background image

Konwersje

Dziesi¦tny do dwójkowego

Cz¦±¢ uªamkowa:
Liczb¦ mno»ymy przez dwa i zapisujemy cz¦±¢ caªkowit¡:

,33

0

,66

1

,32

0

,64

1

,28

0

,56

1

,12

0

,24

0

,48

0

,96

1

,92

1

,84

1

,68

0,010101000111

2

=0,329833984375

10

background image

Konwersje

Dziesi¦tny do dwójkowego

Cz¦±¢ uªamkowa:
Liczb¦ mno»ymy przez dwa i zapisujemy cz¦±¢ caªkowit¡:

,33

0

,66

1

,32

0

,64

1

,28

0

,56

1

,12

0

,24

0

,48

0

,96

1

,92

1

,84

1

,68

0,010101000111

2

=0,329833984375

10

background image

Konwersje

Dziesi¦tny do dwójkowego

Cz¦±¢ uªamkowa:
Liczb¦ mno»ymy przez dwa i zapisujemy cz¦±¢ caªkowit¡:

,33

0

,66

1

,32

0

,64

1

,28

0

,56

1

,12

0

,24

0

,48

0

,96

1

,92

1

,84

1

,68

0,010101000111

2

=0,329833984375

10

background image

Konwersje

Dziesi¦tny do dwójkowego

Cz¦±¢ uªamkowa:
Liczb¦ mno»ymy przez dwa i zapisujemy cz¦±¢ caªkowit¡:

,33

0

,66

1

,32

0

,64

1

,28

0

,56

1

,12

0

,24

0

,48

0

,96

1

,92

1

,84

1

,68

0,010101000111

2

=0,329833984375

10

background image

Konwersje

Dziesi¦tny do dwójkowego

Cz¦±¢ uªamkowa:
Liczb¦ mno»ymy przez dwa i zapisujemy cz¦±¢ caªkowit¡:

,33

0

,66

1

,32

0

,64

1

,28

0

,56

1

,12

0

,24

0

,48

0

,96

1

,92

1

,84

1

,68

0,010101000111

2

=0,329833984375

10

background image

Konwersje

Dziesi¦tny do dwójkowego

Cz¦±¢ uªamkowa:
Liczb¦ mno»ymy przez dwa i zapisujemy cz¦±¢ caªkowit¡:

,33

0

,66

1

,32

0

,64

1

,28

0

,56

1

,12

0

,24

0

,48

0

,96

1

,92

1

,84

1

,68

0,010101000111

2

=0,329833984375

10

background image

Konwersje

Dziesi¦tny do dwójkowego

Cz¦±¢ uªamkowa:
Liczb¦ mno»ymy przez dwa i zapisujemy cz¦±¢ caªkowit¡:

,33

0

,66

1

,32

0

,64

1

,28

0

,56

1

,12

0

,24

0

,48

0

,96

1

,92

1

,84

1

,68

0,010101000111

2

=0,329833984375

10

background image

Konwersje

Dziesi¦tny do dwójkowego

Cz¦±¢ uªamkowa:
Liczb¦ mno»ymy przez dwa i zapisujemy cz¦±¢ caªkowit¡:

,33

0

,66

1

,32

0

,64

1

,28

0

,56

1

,12

0

,24

0

,48

0

,96

1

,92

1

,84

1

,68

0,010101000111

2

=0,329833984375

10

background image

Konwersje

Dziesi¦tny do dwójkowego

Cz¦±¢ uªamkowa:
Liczb¦ mno»ymy przez dwa i zapisujemy cz¦±¢ caªkowit¡:

,33

0

,66

1

,32

0

,64

1

,28

0

,56

1

,12

0

,24

0

,48

0

,96

1

,92

1

,84

1

,68

0,010101000111

2

=0,329833984375

10

background image

Konwersje

Dziesi¦tny do dwójkowego

Cz¦±¢ uªamkowa:
Liczb¦ mno»ymy przez dwa i zapisujemy cz¦±¢ caªkowit¡:

,33

0

,66

1

,32

0

,64

1

,28

0

,56

1

,12

0

,24

0

,48

0

,96

1

,92

1

,84

1

,68

0,010101000111

2

=0,329833984375

10

background image

Konwersje

Dziesi¦tny do dwójkowego

Cz¦±¢ uªamkowa:
Liczb¦ mno»ymy przez dwa i zapisujemy cz¦±¢ caªkowit¡:

,33

0

,66

1

,32

0

,64

1

,28

0

,56

1

,12

0

,24

0

,48

0

,96

1

,92

1

,84

1

,68

0,010101000111

2

=0,329833984375

10

background image

Konwersje

Dziesi¦tny do dwójkowego

Cz¦±¢ uªamkowa:
Liczb¦ mno»ymy przez dwa i zapisujemy cz¦±¢ caªkowit¡:

,33

0

,66

1

,32

0

,64

1

,28

0

,56

1

,12

0

,24

0

,48

0

,96

1

,92

1

,84

1

,68

0,010101000111

2

=0,329833984375

10

background image

Konwersje

Dwójkowy do dziesi¦tnego

Do zrobienia w domu!

background image

Wnioski

1.

Konwersja liczb dziesi¦tnych do dwójkowych cz¦sto
wprowadza bª¦dy.

2.

Ograniczona liczba bitów powoduje, »e ka»de dziaªanie
wykonywane jest z bª¦dem.

3.

W przypadku wielokrotnego powtarzania jakiego±
obliczenia sprawa zaczyna mie¢ znaczenie. . .

background image

Cz¦±¢ II

Bª¦dy numeryczne

background image

Podstawowe de nicje

Wielko±¢

dowolna staªa matematyczna, wynik jakiej±

operacji matematycznej (dziaªania), pierwiastek
rozwi¡zywanego równania. π jest okre±lony jako stosunek
obwodu okr¦giu do jego ±rednicy;

2 jest pierwiastkiem

równania kwadratowego X

2

2 = 0.

Warto±¢ dokªadna wielko±ci

warto±¢ wynikaj¡ca wprost z

de nicji wielko±ci, nie obarczona »adnymi bª¦dami.
Warto±¢ przybli»ona wielko±ci

warto±¢ liczbowa uzyskana w

wyniku oblicze«. Zazwyczaj w wyniku oblicze« nie uzyskujemy
dokªadnej warto±ci.

background image

Wielko±ci zyczne

Ci±nienie, temperatura, dªugo±¢, st¦»enie

to przykªady

wielko±ci zycznych, które bardzo cz¦sto mierzymy .
Ka»dy pomiar obarczony jest bª¦dem wynikaj¡cym
z dokªadno±ci u»ytego narz¦dzia pomiarowego.
Warto±¢ dokªadna to temperatura w jakim± miejscu sali; warto±¢
przybli»ona

to warto±¢ zmierzona jakim± termometrem.

background image

Obliczenia

I

U»ywamy komputera do dokonania jakich± oblicze«.

I

Komputer podaje wynik (a = 5,34273343) maj¡cy 8 cyfr po
przecinku.

I

Czy mo»emy powiedzie¢, »e wyznaczona liczba ma
wszystkie cyfry poprawne?, Czy ró»ni si¦ od warto±ci
dokªadnej o mniej ni» 0,5 · 10

8

?

I

A co z sytuacj¡, »e zastosowana metoda oblicze« jest maªo
dokªadna?

background image

Obliczenia

I

U»ywamy komputera do dokonania jakich± oblicze«.

I

Komputer podaje wynik (a = 5,34273343) maj¡cy 8 cyfr po
przecinku.

I

Czy mo»emy powiedzie¢, »e wyznaczona liczba ma
wszystkie cyfry poprawne?, Czy ró»ni si¦ od warto±ci
dokªadnej o mniej ni» 0,5 · 10

8

?

I

A co z sytuacj¡, »e zastosowana metoda oblicze« jest maªo
dokªadna?

background image

Obliczenia

I

U»ywamy komputera do dokonania jakich± oblicze«.

I

Komputer podaje wynik (a = 5,34273343) maj¡cy 8 cyfr po
przecinku.

I

Czy mo»emy powiedzie¢, »e wyznaczona liczba ma
wszystkie cyfry poprawne?, Czy ró»ni si¦ od warto±ci
dokªadnej o mniej ni» 0,5 · 10

8

?

I

A co z sytuacj¡, »e zastosowana metoda oblicze« jest maªo
dokªadna?

background image

Obliczenia

I

U»ywamy komputera do dokonania jakich± oblicze«.

I

Komputer podaje wynik (a = 5,34273343) maj¡cy 8 cyfr po
przecinku.

I

Czy mo»emy powiedzie¢, »e wyznaczona liczba ma
wszystkie cyfry poprawne?, Czy ró»ni si¦ od warto±ci
dokªadnej o mniej ni» 0,5 · 10

8

?

I

A co z sytuacj¡, »e zastosowana metoda oblicze« jest maªo
dokªadna?

background image

Bª¡d bezwzgl¦dny warto±ci przybli»onej I

Niech A b¦dzie warto±ci¡ dokªadn¡, a a warto±ci¡ przybli»on¡
pewnej wielko±ci. Bª¦dem bezwzgl¦dnym warto±ci
przybli»onej
nazywamy ka»d¡ liczb¦ ∆a speªniaj¡c¡ warunek:

|

A a| ≤ ∆a,

to znaczy tak¡ liczb¦, »e

a − ∆a A a + ∆a.

Warto±¢ przybli»ona a i jej bª¡d bezwzgl¦dny ∆a wyznaczaj¡
przedziaª:

<

a − ∆a; a + ∆a >,

do którego nale»y dokªadna warto±¢ A
Bª¡d bezwzgl¦dny nie jest okre±lony jednoznacznie!

background image

Liczba przybli»ona

Je»eli a jest warto±ci¡ przybli»on¡ dla warto±ci dokªadnej A,
obci¡»on¡ bª¦dem ∆a, to par¦ liczb ∆a, a zapisan¡ w postaci

a

a

b¦dziemy nazywali liczb¡ przybli»on¡ dla A.

background image

π

Wiemy, »e π = 3,14159265 . . .. Warto±ci¡ przybli»on¡ π cz¦sto
u»ywan¡ w rachunkach, jest liczba 3,14.
Jej bª¦dem bezwzgl¦dnym jest na przykªad liczba ∆a = 0,0016.
Dokªadna warto±¢ π jest zawarta mi¦dzy liczbami:

3,14 − 0,0016 ≤ π ≤ 3, 14 + 0,0016

to znaczy π znajduje si¦ w przedziale

<

3,1384; 3,1416 >

Zatem mo»emy zapisa¢ π =

0,0016

3,14

background image

Równo±¢ w przybli»eniu

Je»eli liczby przybli»one

α

a i

β

b s¡ takie, »e przedziaª

<

a − α; a + α > jest zawarty w przedziale < b − β; b + β > to

mówimy, »e liczba

α

a jest w przybli»eniu równa liczbie

β

b.

Zapisujemy to

α

a

β

b.

Z tego »e

α

a jest w przybli»eniu równe

β

b NIE WYNIKA, »e

β

b jest

w przybli»eniu równe

α

a!

background image

Zaokr¡glanie liczb przybli»onych

Dla dowolnej liczby przybli»onej

α

a i dowolnej liczby

rzeczywistej b zachodzi zwi¡zek:

α

a

α+|

ab|

b

czyli

α

a jest w przybli»eniu równe

α+|

ab|

b

Zaokr¡glanie stosujemy wtedy, gdy wynik jakich± dziaªa« ma

zbyt wiele cyfr. Zast¦puj¡c liczb¦

α

a=

0,0000027

3,14159 liczb¡ 3,14

mo»emy oszacowa¢ bª¡d. Wynosi on
0,0000027 + |3,14159 − 3,14. Czyli: 0,0015927. Zatem:

0,0000027

3,14159⇒

0,0015927

3,14

background image

Zaokr¡glanie liczb przybli»onych

Je»eli β ≥ α, to:

α

a

β

b

Zatem

0,0015927

3,14 ⇒

0,0016

3,14

background image

Reguªy zaokr¡glania

I

Gdy wynik dziaªania arytmetycznego ma (za) du»o cyfr
mo»emy odrzuci¢ ostatnie, zb¦dne cyfry (pami¦taj¡c o
zwi¦kszeniu bª¦du zaokr¡glenia).

I

Gdy pierwsz¡ odrzucon¡ cyfr¡ jest 0, 1, 2, 3, 4 cyfr
pozostawionych w warto±ci przybli»onej nie zmieniamy.

I

Je»eli pierwsz¡ odrzucon¡ cyfr¡ jest 5, 6, 7, 8, 9 do
pozostawionej cz¦±ci warto±ci przybli»onej dodajemy 1 na
ostatnim zostawianym miejscu dziesi¦tnym.

Taka zmiana liczby przybli»onej nazywa si¦ poprawnym
zaokr¡gleniem
.

background image

Dziaªania na liczbach przybli»onych

suma

α

a +

β

b=

α+β

a + b

ró»nica

α

a

β

b=

α+β

a b

background image

Dziaªania na liczbach przybli»onych

suma

α

a +

β

b=

α+β

a + b

ró»nica

α

a

β

b=

α+β

a b

background image

Dziaªania na liczbach przybli»onych

iloczyn

α

a ·

β

b

|

a|β+|b|α+αβ

ab

dzielenie

α

a:

β

b

γ

a
b

gdzie

γ =

α + |

a

b

|

b| − β

.

background image

Dziaªania na liczbach przybli»onych

iloczyn

α

a ·

β

b

|

a|β+|b|α+αβ

ab

dzielenie

α

a:

β

b

γ

a
b

gdzie

γ =

α + |

a

b

|

b| − β

.

background image

Dziaªania na liczbach przybli»onych

suma

1.

Pierwszy najmniej korzystny przypadek:

a − α + b − β = (a + b) − (α + β)

2.

Drugi najmniej korzystny przypadek:

a + α + b + β = (a + b) + (α + β)

background image

Dziaªania na liczbach przybli»onych

suma

1.

Pierwszy najmniej korzystny przypadek:

a − α + b − β = (a + b) − (α + β)

2.

Drugi najmniej korzystny przypadek:

a + α + b + β = (a + b) + (α + β)

(Zadanie domowe: jak b¦dzie w przypadku ró»nicy? A w
przypadku iloczynu?)

background image

Przykªad

Obliczy¢ warto±¢ wielomianu

w(x) = a

0

x

4

+

a

1

x

3

+

a

2

x

2

+

a

3

x + a

4

dla x = 2,1.
Przyjmijmy, »e wspóªczynniki wielomianu s¡ liczbami
dokªadnymi i równaj¡ si¦:

a

0

=

2,3, a

1

=

3, a

2

= −

4,5, a

3

=

7,2, a

4

= −

0, 1

Najpierw obliczenia wykonamy z dokªadno±ci¡ do dwóch miejsc
po przecinku, a pó¹niej z dokªadno±ci¡ do czterech.

background image

Przykªad cd

dwie cyfry

x

2

=

0,0

2,1 ×

0,0

2,1=

0,00

4,41

x

3

=

0,00

4, 41 ×

0,0

2, 1=

0,000

9,261⇒

0,001

9,26

x

4

=

0,001

9,26 ×

0,0

2,1⇒

0,0021

19,446 ⇒

0,0061

19,45

2,3 × x

4

=

0,0

2,3 ×

0,0061

19,45 ⇒

0,01403

44,735 ⇒

0,01903

44,74 ⇒

0,02

44,74

3x

3

=

0

3 ×

0,001

9,26 ⇒

0,003

27,78

4,5x

2

=

0,0

4,5 ×

0,00

4,41⇒

0,000

19,845⇒

0,005

19,85

7,2x =

0,0

7,2 ×

0,0

2,1⇒

0,00

15,12

suma:

w(2,1) =

0,02

44,74 +

0,003

27,78

0,005

19,85 +

0,00

15,12

0,0

0,1=

0,028

67,69

background image

Przykªad cd

cztery cyfry

x

2

=

0,0

2,1 ×

0,0

2,1=

0,00

4,41

x

3

=

0,00

4, 41 ×

0,0

2, 1=

0,000

9,261

x

4

=

0,000

9,261 ×

0,0

2,1=

0,0000

19,4481

2,3 × x

4

=

0,0

2,3 ×

0,0000

19,4481=

0,0000

44,73063⇒

0,00003

44,7306

3x

3

=

0

3 ×

0,000

9,261=

0,000

27,783

4,5x

2

=

0,0

4,5 ×

0,00

4,41=

0,000

19,845

7,2x =

0,0

7,2 ×

0,0

2,1=

0,00

15,12

suma

w(2,1) =

0,00003

44,7306 +

0,000

27,783 −

0,000

19,845 +

0,00

15,12 −

0,0

0,1=

0,00003

67,6886

background image

Przykªad cd

Zaªó»my teraz, »e wspóªczynniki obarczone s¡ bª¦dami i równaj¡ si¦:

a

0

=

0,01

2,3, a

1

=

0

3, a

2

=

0,02

4,5, a

3

=

0,02

7,2, a

4

=

0,01

0, 1

dwie cyfry

w(2,1) ⇒

0,42

67,69

cztery cyfry

w(2,1) ⇒

0,3678

67,6886⇒

0,3692

67,69⇒

0,37

67,69

Prowadzenie oblicze« z dokªadno±ci¡ do czterech cyfr po przecinku praktycznie nie
zwi¦kszyªo dokªadno±ci!
Wynika to st¡d, »e dane obarczone s¡ du»ym bª¦dem (ju» druga
cyfra po przecinku nie jest dokªadna).

background image

Literatura dodatkowa

Wojciech Myszka.

Przykªadowe programiki pokazuj¡ce problemy numeryczne.

Dost¦pne pod adresem

http://www.immt.pwr.wroc.pl/~myszka/TI/kod.html

,

pa¹dziernik 2008.

Roman Zuber.

Metody numeryczne i programowanie.

WSziP, 1975.
fragmenty:

http://www.immt.pwr.wroc.pl/~myszka/TI/zuber.pdf

oraz

http://www.immt.pwr.wroc.pl/~myszka/TI/zuber1.pdf

.


Document Outline


Wyszukiwarka

Podobne podstrony:
MN energetyka zadania od wykładowcy 09-05-14, STARE, Metody Numeryczne, Część wykładowa Sem IV
fijewski,instalcje wodno kanalizacyjne,DWUTEOWY PROCES TWORZENIA KOMPUTEROWEGO MODELU NUMERYCZNEGOx
egzamin 05, Symulacja komputerowa
Arytmetyka Komputerowa id 69945 Nieznany
Arytmetyka Komputera
Arytmetyka komputera
Arytmetyka komputerow id 69942 Nieznany (2)
arytmetyka komputero
MN energetyka zadania od wykładowcy 09-05-14, STARE, Metody Numeryczne, Część wykładowa Sem IV
ArKom 3 13 ARYTMETYKA KOMPUTEROWA
arytmetyka komputerów
3 Analiza firmy 2015 (Kopia powodująca konflikty (użytkownik Maciek Komputer) 2016 05 20)
W11 Starzenie komórkowe (asus Komputer's conflicted copy 2012 05 26)

więcej podobnych podstron