Größte/kleinste Gleitkommazahl in Matlab

Neue Frage »

Raderu Auf diesen Beitrag antworten »
Größte/kleinste Gleitkommazahl in Matlab
Hey, ich habe folgendes Problem:

ich soll eine Matlab-Funktion schreiben, mit der, ausgehend von einer beliebigen Zahl, die kleinste bzw. größte Gleitkommazahl berechnet wird.

Bisher bin ich soweit dass ich über eine Schleife an die richtige Potenz komme. Funktionieren tut das allerdings nur wenn ich schon mit der Basis 2 anfange und dann die Potenzen von 2 solange um eins erhöhe, bis das Ergebnis "inf" ist. Dann wieder eine Potenz runter und das ist dann mein Ergebnis (2^1023).

Frage: Wie komme ich auf 2^1023.999999.... ? Wenn ich das explizit angebe wirds schließlich auch berechnet?

Das gleiche klappt auch bei der kleinsten Gleitkommazahl. Wenn ich dann allerdings bei 4.9407e-324 angekommen bin kann ich immer noch mit einer Zahl <1 multiplizieren und Matlab liefert mir ein Ergenis kleiner als 4.9407e-324.

Hätte mir jemand ne Idee wie ich jetzt auf die kleinste Zahl komm? Oder ist 4.9407e-324 schon die kleinste und mit Matlab stimmt irgendwas nicht??

Danke schonmal,
Raderu
LMalfoy Auf diesen Beitrag antworten »

Hey, wie wäre es, wenn du dein Programm mal hier reinkopierst, damit man nachvollziehen kann, was du bisher gemacht hast? Nur so kann man deinen Fehler auch korrigieren!

Lg, Malfoy
HAL 9000 Auf diesen Beitrag antworten »

Es geht hier um 64Bit-Gleitkommazahlen (52 Bit Mantisse) gemäß Norm IEEE754:

Nur bis hinab zu hat man volle Mantissengenauigkeit. Es sind allerdings auch kleinere Zahlen möglich mit dann allerdings immer weiter eingeschränkter Mantissengenauigkeit, man spricht von sogenannten denormalisierten Zahlen (siehe entsprechenden Wikipedia-Abschnitt). Der Schlusspunkt dieser "Erweiterung" (nach unten) ist dann das angesprochene



bei dieser Zahl ist lediglich noch ein Bit Mantisse übriggeblieben, d.h. die "vorletzte" mögliche Zahl ist tatsächlich die doppelt so große Zahl

,

dazwischen ist nix im Rahmen dieses Zahlenformats. Augenzwinkern


Es liegt auf der Hand, dass man diese denormalisierten Zahlen in praktischen Rechnungen möglichst nicht nutzen sollte, der eingeschränkten Genauigkeit wegen.

-------------------------------------------------------------

Die größte Zahl hat den Maximalexponenten 1023 und in der Mantisse alles binäre Einsen. Das ist letzten Endes die Zahl

.

So darf man das aber nicht eintippen, da so schon bei der Teilberechnung der Überlauf eintritt. Mit



geht es aber. Hier am oberen Skalenende gibt es sowas wie denormalisierte Zahlen schon mal vom Prinzip her nicht.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »