Analiza numeryczna Lista nr 2 (ćwiczenia) 1. Wyznaczyć

advertisement
Analiza numeryczna
Lista nr 2 (ćwiczenia)
1. Wyznaczyć reprezentację liczby x = 216 + 2−8 + 2−9 + 2−10 w zmiennopozycyjnej arytmetyce binarnej z mantysą t-cyfrową. Rozpatrzyć różne wartości t. Dla jakiego t liczba
x będzie reprezentowana dokładnie? Ocenić błąd reprezentacji x dla innej liczby bitów
mantysy.
2. Niech binarna arytmetyka zmiennopozycyjna będzie t= 2-cyfrowa. Ile liczb maszynowych
jest z przedziału [2, 4]?
3. Znaleźć liczbę rzeczywistą x taką, że f l(x) = x(1 + δ) dla możliwie największego |δ|?
Czy tą wartością |δ| może być epsilon maszynowy?
4. Wykazać, że jeśli x i y są liczbami reprezentowanymi dokładnie w arytmetyce f l i |y| ¬
1
2 ǫ|x| (ǫ jest epsilonem maszynowym), to f l(x + y) = x.
5. Niech f l będzie arytmetyką zmiennopozycyjną t-cyfrową. Z jakim błę- dem względnym
może być obliczony iloczyn n liczb reprezentowanych dokładnie w tej arytmetyce? Jak
może zmienić się ten błąd, jeśli liczby nie są reprezentowane dokładnie, ale ich wielkości
nie przekraczają zakresu liczb reprezentowalnych?
6. Komputer oblicza z1 , z2 , . . . , dla danych x, a1 , a2 , . . . za pomocą wzorów (jest to schemat
Hornera)
z1 = a1 , zn = xzn−1 + an (n ­ 2).
Wykazać, że jeśli dane są dokładnie reprezentowane w artymetyce f l, to obliczone liczby
można interpretować jako dokładne wyniki działań na danych zaburzonych. Wyrazić
oszacowania tych zaburzeń przez precyzję arytmetyki f l.
7. Zaproponować algorytm obliczania wartości tg(2α) za pomocą tg(α):
tg(2α) =
2 tg(α)
1 − tg2 (α)
i przeprowadzić analizę błędów. Zakładamy, że wartość tg(α) jest dokładna. Czy to
zadanie jest dobrze uwarunkowane?
8. W arytmetyce zmiennopozycyjnej obliczono wartość wyrażenia
a0 +
a1
.
3
a2 + a4a+a
5
Przeprowadzić analizę błędów.
9. Zaproponować algorytm obliczania wyróżnika („delty”) trójmianu
x2 − 2rx + s2 ,
gdzie r > s. Przeprowadzić analizę błędów.
1
10. Zaproponować algorytm obliczania pierwiastka kwadratowego liczby zespolonej z = x +
iy, odporny na powstawanie nadmiaru lub niedo- miaru w trakcie obliczeń w komputerze.
Przeprowadzić analizę błędów zaproponowanego algorytmu.
11. Niech dane będą liczby x, y (x2 + y 2 > 0). Zaproponować algorytm obliczania wielkości
cos(2α) i sin(2α), gdzie kąt ? jest zdefiniowany zależnościami:
r=
q
x2 + y 2 , cos(α) = x/r, sin(α) = y/r.
Czy ten algorytm jest numerycznie poprawny?
12. Niech
f (x) = ax12 + bx13 .
Wyznaczyć parametry a i b takie, by f (0.1) = 6.06 × 10−13 i f (0.9) = 0.03577. Zbadać
wrażliwość parametrów a i b na zmiany wartości f .
13. Zbadać uwarunkowanie zadania obliczania wartości funkcji f (x) = arc sin(x).
14. Wyznaczyć wskaźniki uwarunkowania zadania obliczania jednego z pierwiastków trójmianu kwadratowego x2 + bx + c.
Uwaga:
• Epsilon maszynowy jest liczbą równą odległości między liczbą maszynową 1/β a następną większą liczbą maszynową jeśli m ∈ [1/β, 1), β jest podstawą systemy; jeśli
m ∈ [1, β), to epsilon maszynowy jest równy odległości między 1.0 a następną większą
liczbą maszynową.
√
√
• f l( x) =√ x(1 + δ), |δ| ¬ ǫ,
1 + β = 1 + α, |α| ¬ ǫ, to |β| ¬ 21 ǫ.
Paweł Zieliński
2
Download