You are on page 1of 6

Wydział Geoinżynierii Wrocław, 24.10.

2023
Górnictwa i Geologii
Politechnika Wrocławskiej

Metody numeryczne i elementy


optymalizacji
Sprawozdania z ćwiczenia
,,Błędy. Liczby zmiennoprzecinkowe IEEE 754. Epsilon maszynowy”

Laura Daza Silva – 276770

Grupa: Środa 17:05 nr.2


Dr inż. Piotr Pierz
Zad 10.
Narysować wykres funkcji f1(x) = x4 – 4x3 + 6x2 – 4x + 1 w przedziale x <0.9996, 1.0004> i na tej podstawie
wyznaczyć jej miejsca zerowe. Skonfrontować uzyskane wyniki z działaniem polecenia roots.
Przeprowadzić raz jeszcze rozważania jak wyżej ale tym razem dla funkcji: f2(x) = (x – 1)4. Porównać i
przedyskutować ze sobą funkcje f1(x) i f2(x) oraz osiągnięte dla nich wyniki.

Otrzymamy te same wartości miejsc zerowych dla funkcji f1(x) i f2(x), ponieważ jest to spowodowane
tym, że obie te funkcje są tożsame w kontekście swoich miejsc zerowych. W rzeczywistości funkcja
f2(x)=(x – 1)4 jest po prostu funkcją f1(x)= x4 – 4x3 + 6x2 – 4x + 1 w innym zapisie. Oba zapisy
matematyczne reprezentują tę samą funkcję, dlatego wyniki uzyskane za pomocą funkcji roots są takie
same w obu przypadkach.
Warto zauważyć, że miejsca zerowe funkcji f1(x) to pierwiastki równania czwartego stopnia, funkcja jest
bardziej zróżnicowana i złożona, co oznacza, że jej zachowanie jest bardziej zmiennym i może mieć
więcej miejsc zerowych, a funkcja f2(x) to czwarta potęga różnicy x−1, co oznacza, że ma jedno miejsce
zerowe w x=1 o wielokrotności 4.
Zad 11
Napisać program służący do wyznaczania wartości epsilona maszynowego dla liczb
zmiennoprzecinkowych pojedynczej i podwójnej precyzji (single i double).
W tym celu można skorzystać z następującego algorytmu:
1. przyjąć początkową wartość ε = a, gdzie: a-liczba dla której chcemy wyznaczyć wartość epsilona.
2. sprawdzić czy spełniony jest warunek: a + ε = a
3. jeśli warunek jest spełniony tzn. że znaleziono wartość epsilona. Jeśli warunek nie jest spełniony to
podziel epsilon przez 2 (ε = ε / 2) i wróć do punku 2.
Porównać ze sobą wyniki uzyskane dla liczb: 1, 10-6, 10-14, 1, 106, 1014 reprezentowanych jako liczby
zmiennoprzecinkowe pojedynczej i podwójnej precyzji.
Korzystając z MATLABa i funkcji eps, wyznaczyć wartości epsilona maszynowego dla liczb i typów jak
wyżej i porównać je z wynikami uzyskanymi samodzielnie.
-> liczb zmiennoprzecinkowych podwójnej precyzji (Double):

-> liczb zmiennoprzecinkowych pojedynczej (Single)

You might also like