Metody numeryczne – Wykład 1 – reprezentacja zmiennopozycyjna liczb
rzeczywistych
Marek Bazan
III rok - Elektornika
Semestr zimowy 2020/2021
Plan zajęć
1. Reprezentacja zmienno-pozycyjna liczb. Definicje i własności.
I Liczby całkowite I Liczby rzeczywiste
2. Błędy obliczeń numerycznych
I Błąd bezwzględny i błąd względny (przykłady) I Błąd reprezentacji
I Błąd działań arytmetycznych I Błąd przybliżania pochodnej 3. Zadania źle uwarunkowane
I Zadanie źle uwarunkowane I Zadanie dobrze uwarunkowane
Reprezntacja licz całkowitych - repreznetacja stałopozycyjna
Parametry: podstawa β, liczba cyfr maksymalnej liczby L Cyfry: dL−2. . . , d1, d0 ∈ {0, . . . , β − 1}. Znak: z ∈ {0, 1}.
LZM = z(dL−2. . . d1d0)β
= (−1)z(dL−2βL−2+ · · · + d1β1+ d0β0). (1) Dla β = 2 mamy di ∈ {0, 1} dla (i = 0, . . . , L − 2) mamy, gdy L jest liczbą bitow, to można w tej notacji zapamiętać liczby z zakresu
[−2L−1+ 1, 2L−1− 1]. (2) Dla L = 8 mamy zakres [−27+ 1, 27− 1] ≡ [−127, 127].
Taką reprezentację nazywamy repreznetacją Znak Moduł (ZM).
Reprezntacja liczb całkowitych (2) - repreznetacja stałopozycyjna
Reprezentacja uzupełnieniowa do 2.
Cyfry: dL−1, . . . , d1, d0∈ {0, 1}
LU2 = (dL−1dL−2. . . d1d0)U2
= (−2L−1)dL−1+ 2L−2dL−2+ · · · + d121+ d020. (3) Dla L = 8 mamy zakres [−27, 27− 1] ≡ [−128, 127].
Liczby dodatnie są zapamiętane tak jak w kodzie ZM Liczby ujemne zapisujemy następującym algorytmem
1. Zapisz liczbę przeciwną tak jak w ZM 2. Dokonaj inwersji bitów
3. Zwiększ wynik o 1
UWAGA: Zaletą kodu U2 jest to, że w operacjach takich jak dodawanie, odejmowanie, dzielenie i mnożenie nie trzeba osobno rozpatrywać znaku.
Reprezntacja liczb rzeczywistych - repreznetacja zmiennopozycyjna
Zbiór liczb zmienno-pozycyjnych oznaczamy przez F . Definiujemy go przyjmując oznaczenia
· β ∈ N i β 2 – podstawa,
· t – dokładność,
· d1 = β − 1, d2, . . . , dt ∈ {0, . . . , β − 1}, – cyfry,
· z = {0, 1} – bit znaku,
· L, U ∈ Z (L < U) – zakres cechy e ∈ Z, tzn. L ¬ e ¬ U.
Wówczas x ∈ F ma wartość
x = (−1)z
d1 β + d2
β2 + · · · + dt βt
| {z }
mantysa
·β cecha
z}|{e .
Nadmiar, niedomiar
1. Niedomiar:
Najmniejsza mantysa, najmniejsza cecha
d1= 1, d2== d3== · · · == dt == 0, e = L 2. Nadmiar:
Największa mantysa, majwiększa mantysa
d1 == d2 == d3 == · · · == dt == 1, e = U
Błędy obliczeń numerycznych Błąd bezwzględny i błąd względny
Dla wartości dokładniej x ∈ R przybliżanej w arytmetyce zmienno-pozycyjnej za pomocą wartości ˜x mamy
1. Błąd bezwględny ,
δ = |˜x − x | 2. Błąd względny,
= |˜x − x |
|x|
częściej spotykamy się z zapisem
˜
x = x (1 + )
Błędy względny przykład – błąd reprezentacji i operacji arytmetyczych
Dla wartości dokładniej x ∈ R przybliżanej w arytmetyce
zmienno-pozycyjnej za pomocą najbliższej wartości ˜x ze zbioru F rd(x ) = x (1 + )
gdzie ∈ O(2−t) czyli zależy tylko i wyłącznie od liczby cyfr w mantysie.
Dalej mamy operacje arytmetyczne ∈ {+, −, /, ∗}. Dla arytmetyki rd mamy
rd(x y ) = (x y )(1 + ).
Błędy bezwzględny przykład – błąd przybliżania pochodnej rzędu O(h)
Definicja pochodnej
f0(x ) = lim
h→0
f (x + h) − f (x ) h
Szereg Taylora
f (x + h) = f (x ) + h
1!f0(x ) + h2
2!f00(x ) + h3
3!f000(x ) + . . . Przekształcając mamy
h
1!f0(x ) = f (x + h) − f (x ) − h2
2!f00(x ) − h3
3!f000(x ) + . . . f0(x ) = f (x + h) − f (x )
h − h
2!f00(x ) −h2
3!f000(x ) + . . .
Zadania źle uwarunkowane
Definicja:
Zadanie źle uwarunkowane to takie, dla którego mała zmiana danych wejściowych powoduje dużą zmianę wyniku.
Przykład:
Zadanie rozwiązywania równań liniowyc. Jeśli hiperpłaszczyzny odpowiadające rówaniom są zbliżone do równoległych to zadanie jest, źle uwarunkowane.
Definicja: Współczynnik uwarunkowania:
Niech z : Rn → Rm będzie peweną funkcją, x ∈ Rn dokładną wartością argumentu, a ˜x ∈ Rn będzie przybliżeniem x.
Jeśli istnieje κ ∈ R taka, że
∀x, ˜x : ||z(x) − z(˜x)||Rm
||z(x)||Rm ¬ κ||x − ˜x||Rn
||x||Rn to κ nazywamy współczynnikiem uwarunkowania zadania.
Jeśli κ jest małe zadanie jest dobrze uwarunkowane. Dla κ dużego zadanie jest źle uwarunkowane.
Zadania źle uwarunkowane
Zadanie źle uwarunkowane - wyznaczanie zer wielomianu Wilkinsona
w (x ) =
20
Y
i =1
(x − i ) = (x − 1)(x − 2) . . . (x − 20).
Jeśli zmienimy współcz. przy x19o 2−23z 210 na 210.0000001192 to https://en.wikipedia.org//wiki//Wilkinson%27s polynomial