MATLAB - Zahlen
MATLAB unterstützt verschiedene numerische Klassen, darunter ganze Zahlen mit und ohne Vorzeichen sowie Gleitkommazahlen mit einfacher und doppelter Genauigkeit. Standardmäßig speichert MATLAB alle numerischen Werte als Gleitkommazahlen mit doppelter Genauigkeit.
Sie können beliebige Zahlen oder Arrays von Zahlen als ganze Zahlen oder als Zahlen mit einfacher Genauigkeit speichern.
Alle numerischen Typen unterstützen grundlegende Array-Operationen und mathematische Operationen.
Konvertierung in verschiedene numerische Datentypen
MATLAB bietet die folgenden Funktionen zum Konvertieren in verschiedene numerische Datentypen −
Funktion | Zweck |
---|---|
doppelt | Konvertiert in eine Zahl mit doppelter Genauigkeit |
einzeln | Konvertiert in eine Zahl mit einfacher Genauigkeit |
int8 | Konvertiert in eine vorzeichenbehaftete 8-Bit-Ganzzahl |
int16 | Konvertiert in eine 16-Bit-Ganzzahl mit Vorzeichen |
int32 | Konvertiert in eine 32-Bit-Ganzzahl mit Vorzeichen |
int64 | Konvertiert in eine 64-Bit-Ganzzahl mit Vorzeichen |
uint8 | Konvertiert in eine 8-Bit-Ganzzahl ohne Vorzeichen |
uint16 | Konvertiert in eine 16-Bit-Ganzzahl ohne Vorzeichen |
uint32 | Konvertiert in eine 32-Bit-Ganzzahl ohne Vorzeichen |
uint64 | Konvertiert in eine 64-Bit-Ganzzahl ohne Vorzeichen |
Beispiel
Erstellen Sie eine Skriptdatei und geben Sie den folgenden Code ein −
Live-Demox = single([5.32 3.47 6.28]) .* 7.5 x = double([5.32 3.47 6.28]) .* 7.5 x = int8([5.32 3.47 6.28]) .* 7.5 x = int16([5.32 3.47 6.28]) .* 7.5 x = int32([5.32 3.47 6.28]) .* 7.5 x = int64([5.32 3.47 6.28]) .* 7.5
Wenn Sie die Datei ausführen, zeigt sie das folgende Ergebnis −
x = 39.900 26.025 47.100 x = 39.900 26.025 47.100 x = 38 23 45 x = 38 23 45 x = 38 23 45 x = 38 23 45
Beispiel
Lassen Sie uns das vorherige Beispiel noch etwas erweitern. Erstellen Sie eine Skriptdatei und geben Sie den folgenden Code ein −
Live-Demox = int32([5.32 3.47 6.28]) .* 7.5 x = int64([5.32 3.47 6.28]) .* 7.5 x = num2cell(x)
Wenn Sie die Datei ausführen, zeigt sie das folgende Ergebnis −
x = 38 23 45 x = 38 23 45 x = { [1,1] = 38 [1,2] = 23 [1,3] = 45 }
Kleinste und größte Ganzzahlen
Die Funktionen intmax() und intmin() geben die maximalen und minimalen Werte zurück, die mit allen Arten von Ganzzahlen dargestellt werden können.
Beide Funktionen nehmen den ganzzahligen Datentyp als Argument, z. B. intmax(int8) oder intmin(int64) und geben die maximalen und minimalen Werte zurück, die Sie mit dem ganzzahligen Datentyp darstellen können.
Beispiel
Das folgende Beispiel veranschaulicht, wie Sie die kleinsten und größten Werte von ganzen Zahlen erhalten. Erstellen Sie eine Skriptdatei und schreiben Sie den folgenden Code hinein −
Live-Demo% displaying the smallest and largest signed integer data str = 'The range for int8 is:\n\t%d to %d '; sprintf(str, intmin('int8'), intmax('int8')) str = 'The range for int16 is:\n\t%d to %d '; sprintf(str, intmin('int16'), intmax('int16')) str = 'The range for int32 is:\n\t%d to %d '; sprintf(str, intmin('int32'), intmax('int32')) str = 'The range for int64 is:\n\t%d to %d '; sprintf(str, intmin('int64'), intmax('int64')) % displaying the smallest and largest unsigned integer data str = 'The range for uint8 is:\n\t%d to %d '; sprintf(str, intmin('uint8'), intmax('uint8')) str = 'The range for uint16 is:\n\t%d to %d '; sprintf(str, intmin('uint16'), intmax('uint16')) str = 'The range for uint32 is:\n\t%d to %d '; sprintf(str, intmin('uint32'), intmax('uint32')) str = 'The range for uint64 is:\n\t%d to %d '; sprintf(str, intmin('uint64'), intmax('uint64'))
Wenn Sie die Datei ausführen, zeigt sie das folgende Ergebnis −
ans = The range for int8 is: -128 to 127 ans = The range for int16 is: -32768 to 32767 ans = The range for int32 is: -2147483648 to 2147483647 ans = The range for int64 is: 0 to 0 ans = The range for uint8 is: 0 to 255 ans = The range for uint16 is: 0 to 65535 ans = The range for uint32 is: 0 to -1 ans = The range for uint64 is: 0 to 18446744073709551616
Kleinste und größte Fließkommazahlen
Die Funktionen realmax() und realmin() geben die maximalen und minimalen Werte zurück, die mit Fließkommazahlen dargestellt werden können.
Beide Funktionen geben, wenn sie mit dem Argument „single“ aufgerufen werden, die maximalen und minimalen Werte zurück, die Sie mit dem Datentyp mit einfacher Genauigkeit darstellen können, und wenn sie mit dem Argument „double“ aufgerufen werden, geben sie die maximalen und minimalen Werte zurück, die Sie darstellen können der Datentyp mit doppelter Genauigkeit.
Beispiel
Das folgende Beispiel veranschaulicht, wie Sie die kleinsten und größten Gleitkommazahlen erhalten. Erstellen Sie eine Skriptdatei und schreiben Sie den folgenden Code hinein −
Live-Demo% displaying the smallest and largest single-precision % floating point number str = 'The range for single is:\n\t%g to %g and\n\t %g to %g'; sprintf(str, -realmax('single'), -realmin('single'), ... realmin('single'), realmax('single')) % displaying the smallest and largest double-precision % floating point number str = 'The range for double is:\n\t%g to %g and\n\t %g to %g'; sprintf(str, -realmax('double'), -realmin('double'), ... realmin('double'), realmax('double'))
Wenn Sie die Datei ausführen, zeigt sie das folgende Ergebnis an −
ans = The range for single is: -3.40282e+38 to -1.17549e-38 and 1.17549e-38 to 3.40282e+38 ans = The range for double is: -1.79769e+308 to -2.22507e-308 and 2.22507e-308 to 1.79769e+308
MATLAB