Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> MATLAB

MATLAB – Zahlen: Typen, Speicherung und Konvertierung

MATLAB unterstützt verschiedene numerische Klassen, die vorzeichenbehaftete und vorzeichenlose Ganzzahlen sowie Gleitkommazahlen einfacher und doppelter Genauigkeit umfassen. Standardmäßig speichert MATLAB alle numerischen Werte als Gleitkommazahlen doppelter Genauigkeit.

Sie können beliebige Zahlen oder Arrays von Zahlen als Ganzzahlen oder als Gleitkommazahlen einfacher Genauigkeit speichern.

Alle numerischen Typen unterstützen grundlegende Array-Operationen und mathematische Operationen.

Konvertierung in verschiedene numerische Datentypen

MATLAB stellt folgende Funktionen zur Konvertierung in verschiedene numerische Datentypen bereit:

Funktion Zweck
double Konvertiert in Zahl doppelter Genauigkeit
single Konvertiert in Zahl einfacher Genauigkeit
int8 Konvertiert in 8-Bit-Ganzzahl mit Vorzeichen
int16 Konvertiert in 16-Bit-Ganzzahl mit Vorzeichen
int32 Konvertiert in 32-Bit-Ganzzahl mit Vorzeichen
int64 Konvertiert in 64-Bit-Ganzzahl mit Vorzeichen
uint8 Konvertiert in 8-Bit-Ganzzahl ohne Vorzeichen
uint16 Konvertiert in 16-Bit-Ganzzahl ohne Vorzeichen
uint32 Konvertiert in 32-Bit-Ganzzahl ohne Vorzeichen
uint64 Konvertiert in 64-Bit-Ganzzahl ohne Vorzeichen

Beispiel

Erstellen Sie eine Skriptdatei und geben Sie folgenden Code ein:

Live Demo
 x = 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 

Beim Ausführen der Datei wird folgendes Ergebnis angezeigt:

 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

Erweitern wir das vorherige Beispiel etwas. Erstellen Sie eine Skriptdatei und geben Sie folgenden Code ein:

Live Demo
 x = int32([5.32 3.47 6.28]) .* 7.5 x = int64([5.32 3.47 6.28]) .* 7.5 x = num2cell(x) 

Beim Ausführen der Datei wird folgendes Ergebnis angezeigt:

 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 Ganzzahldatentyp als Argument, z. B. intmax('int8') oder intmin('int64'), und geben die maximalen und minimalen Werte zurück, die mit diesem Ganzzahldatentyp dargestellt werden können.

Beispiel

Das folgende Beispiel zeigt, wie man die kleinsten und größten Werte von Ganzzahlen erhält. Erstellen Sie eine Skriptdatei und schreiben Sie folgenden Code:

Live Demo
 % Anzeige der kleinsten und größten vorzeichenbehafteten Ganzzahl-Datentypen str = 'Der Bereich für int8 ist:\n\t%d bis %d '; sprintf(str, intmin('int8'), intmax('int8')) str = 'Der Bereich für int16 ist:\n\t%d bis %d '; sprintf(str, intmin('int16'), intmax('int16')) str = 'Der Bereich für int32 ist:\n\t%d bis %d '; sprintf(str, intmin('int32'), intmax('int32')) str = 'Der Bereich für int64 ist:\n\t%d bis %d '; sprintf(str, intmin('int64'), intmax('int64')) % Anzeige der kleinsten und größten vorzeichenlosen Ganzzahl-Datentypen str = 'Der Bereich für uint8 ist:\n\t%d bis %d '; sprintf(str, intmin('uint8'), intmax('uint8')) str = 'Der Bereich für uint16 ist:\n\t%d bis %d '; sprintf(str, intmin('uint16'), intmax('uint16')) str = 'Der Bereich für uint32 ist:\n\t%d bis %d '; sprintf(str, intmin('uint32'), intmax('uint32')) str = 'Der Bereich für uint64 ist:\n\t%d bis %d '; sprintf(str, intmin('uint64'), intmax('uint64')) 

Beim Ausführen der Datei wird folgendes Ergebnis angezeigt:

 ans = Der Bereich für int8 ist: -128 bis 127 ans = Der Bereich für int16 ist: -32768 bis 32767 ans = Der Bereich für int32 ist: -2147483648 bis 2147483647 ans = Der Bereich für int64 ist: 0 bis 0 ans = Der Bereich für uint8 ist: 0 bis 255 ans = Der Bereich für uint16 ist: 0 bis 65535 ans = Der Bereich für uint32 ist: 0 bis -1 ans = Der Bereich für uint64 ist: 0 bis 18446744073709551616 

Kleinste und größte Gleitkommazahlen

Die Funktionen realmax() und realmin() geben die maximalen und minimalen Werte zurück, die mit Gleitkommazahlen dargestellt werden können.

Beide Funktionen geben, wenn sie mit dem Argument 'single' aufgerufen werden, die maximalen und minimalen Werte zurück, die mit dem Datentyp einfacher Genauigkeit dargestellt werden können. Wenn sie mit dem Argument 'double' aufgerufen werden, geben sie die maximalen und minimalen Werte zurück, die mit dem Datentyp doppelter Genauigkeit dargestellt werden können.

Beispiel

Das folgende Beispiel zeigt, wie man die kleinsten und größten Gleitkommazahlen erhält. Erstellen Sie eine Skriptdatei und schreiben Sie folgenden Code:

Live Demo
 % Anzeige der kleinsten und größten Gleitkommazahlen einfacher Genauigkeit str = 'Der Bereich für single ist:\n\t%g bis %g und\n\t %g bis %g'; sprintf(str, -realmax('single'), -realmin('single'), ... realmin('single'), realmax('single')) % Anzeige der kleinsten und größten Gleitkommazahlen doppelter Genauigkeit str = 'Der Bereich für double ist:\n\t%g bis %g und\n\t %g bis %g'; sprintf(str, -realmax('double'), -realmin('double'), ... realmin('double'), realmax('double')) 

Beim Ausführen der Datei wird folgendes Ergebnis angezeigt:

 ans = Der Bereich für single ist: -3.40282e+38 bis -1.17549e-38 und 1.17549e-38 bis 3.40282e+38 ans = Der Bereich für double ist: -1.79769e+308 bis -2.22507e-308 und 2.22507e-308 bis 1.79769e+308 

MATLAB

  1. Zahlen vs. Zahlensysteme: Die Unterscheidung und ihre praktische Bedeutung
  2. MATLAB: Umfassender Überblick über die führende numerische Computing-Umgebung
  3. Variablen in MATLAB verstehen: Grundlagen & Beispiele
  4. Wichtige MATLAB-Befehle für effizientes Computing
  5. MATLAB Datentypen: Umfassender Leitfaden
  6. MATLAB Operatoren meistern: Arithmetik, Logik, Bitweise Operationen
  7. MATLAB Matrizen Grundlagen: Erstellen, Referenzieren, Manipulieren
  8. MATLAB: Mehrdimensionale und spezielle Arrays meistern
  9. MATLAB-Colon-Notation meistern: Vektoren erstellen & effizient iterieren
  10. MATLAB Strings meistern: Einfache Erstellung & Verwendung