MATLAB-Maschine Epsilon

Sheeraz Gul 15 Februar 2024
MATLAB-Maschine Epsilon

Dieses Tutorial demonstriert das Maschinen-Epsilon in MATLAB.

MATLAB-Maschine Epsilon

Maschinenpräzision, auch als Maschinen-Epsilon bekannt, ist das Merkmal von arithmetischen Zahlen mit doppelter Genauigkeit. Diese Zahlen mit doppelter Genauigkeit sind der Standard IEEE 754, der von MATLAB verwendet wird, um Gleitkommazahlen zu speichern, die die Näherungswerte für die reellen Zahlen sind.

Die Definition für das Maschinen-Epsilon ist der maximal mögliche relative Fehler der Gleitkommadarstellung in Abhängigkeit von der Anzahl der Bits der Mantisse. Mathematisch wird für t-Bits der Mantisse nach folgender Gleichung gerundet:

Maschine Epsilon Mantisse

Das Maschinen-Epsilon für diese Gleichung ist:

Maschinen-Epsilon

Die Maschine Epsilon hängt immer von der Umsetzung ab. Die Rechengenauigkeit ist hardwareseitig immer durch die Größe der zur Berechnung verwendeten Register begrenzt.

Die Berechnungsgenauigkeit wird durch die Datentypen begrenzt, die verwendet werden, um die Fließkommazahlen auf der Softwareseite darzustellen. Eine Zahl mit doppelter Genauigkeit wird gemäß den IEEE 754-Standards als 64 Bit codiert. Je niedriger also das Maschinen-Epsilon ist, desto größer ist die Berechnung der relativen Genauigkeit.

Meistens wird die Maschine Epsilon verwendet, um die Auswirkung von Rundungsfehlern zu untersuchen. MATLAB hat eine eigene eps-Methode, um das Maschinen-Epsilon zu berechnen; Wir haben ein Beispiel ausprobiert, in dem sowohl MATLAB als auch ein benutzerdefiniertes Epsilon verglichen werden:

macheps = double(1.0);
previous_macheps = macheps;

while(1 < (1 + macheps))
    previous_macheps = macheps;
    macheps = macheps / 2;
end

disp('Our macheps function: ');
disp(previous_macheps);

disp('Built-in MATLAB macheps function: ');
disp(eps);

Der obige Code berechnet das Maschinen-Epsilon mit einer benutzerdefinierten Methode und der integrierten MATLAB-Funktion eps. Siehe Ausgabe:

Our macheps function:
   2.2204e-16

Built-in MATLAB macheps function:
   2.2204e-16
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook