MATLAB-Datentypen: Alles, was Sie wissen müssen

Veröffentlicht: 2020-09-16

MATLAB bietet viele Möglichkeiten, Zahlen und Variablen zu speichern. Alle Zahlen sind äquivalent zu tatsächlichen numerischen reellen Zahlen. Es gibt eine Obergrenze für die größte Zahl und eine Untergrenze für den Absolutwert der Nicht-Null-Zahl. Dies liegt an dem endlichen Speicher der Verarbeitungsgeräte im Vergleich zur reellen Zahl, die unendlich sein kann.

Aufgrund des endlichen Platzes kann die MATLAB-Variable keine irrationalen Zahlen speichern. Beispiel: Der Wert von pi wird auf den Näherungswert zurückgeführt. Die Menge der Werte, die in der MATLAB-Variablen dargestellt werden, ist endlich. Datentypen in MATLAB helfen dabei, diese Einschränkung zu umgehen.

Alle MATLAB-Variablen gehören zu einer Klasse, in der verschiedene Klassen unterschiedliche Eigenschaften haben und geeignet sind, verschiedene Arten von Daten darzustellen, ob numerisch, textuell oder komplex.

Denken Sie daran: Alle angegebenen Elemente in einem Array sollten vom gleichen Typ sein.

MATLAB bietet insgesamt 16 grundlegende Typen, und die Datentypen in MATLAB sind definiert durch:

  • Wertesatz definiert
  • Operationssatz, der zum Ausführen dieser Werte verwendet werden kann

Quelle

Inhaltsverzeichnis

Numerische Typen

Zu den numerischen Typen gehören ganze Zahlen mit und ohne Vorzeichen, Gleitkommazahlen mit einfacher und doppelter Genauigkeit. Die numerischen Variablen und ihre Eigenschaften sind unten aufgeführt:

doppelt Arrays mit doppelter Genauigkeit
  • Numerischer Standarddatentyp (Klasse) in MATLAB
  • Als 64-Bit (8-Byte) Gleitkommawert gespeichert
  • Bereich-

Negative Zahlen = -1,79769 x 10 308 und -2,22507 x 10 -308

Positive Zahlen = 2,22507 x 10 -308 und 1,79769 x 10 308

Einzel Arrays mit einfacher Genauigkeit
  • Als 4-Byte (32-Bit) Gleitkommawert gespeichert
  • Bereich-

Negative Zahlen = -1,79769 x 10 308 und -2,22507 x 10 -308

Positive Zahlen = 2,22507 x 10 -308 und 1,79769 x 10 308

int8 8-Bit-Integer-Arrays mit Vorzeichen
  • Als vorzeichenbehaftete 1-Byte (8-Bit)-Ganzzahlen gespeichert
  • Bereich ist -2 7 bis 2 7 -1
int16 16-Bit-Integer-Arrays mit Vorzeichen
  • Als vorzeichenbehaftete 2-Byte (16-Bit)-Ganzzahlen gespeichert
  • Bereich -2 15 bis 2 15 -1
int32 32-Bit-Integer-Arrays mit Vorzeichen
  • Gespeichert als vorzeichenbehaftete 4-Byte (32-Bit)-Ganzzahlen
  • Bereich ist -2 31 bis 2 31 -1
int64 64-Bit-Integer-Arrays mit Vorzeichen
  • Als vorzeichenbehaftete 8-Byte (64-Bit)-Ganzzahlen gespeichert
  • Bereich ist -2 63 bis 2 63 -1
uint8 8-Bit-Integer-Arrays ohne Vorzeichen
  • Gespeichert als 1-Byte (8-Bit) Ganzzahlen ohne Vorzeichen
  • Bereich ist 0 bis 2 8 -1
uint16 16-Bit-Integer-Arrays ohne Vorzeichen
  • Gespeichert als vorzeichenlose 2-Byte (16-Bit) Ganzzahlen
  • Bereich ist 0 bis 2 16 -1
uint32 32-Bit-Integer-Arrays ohne Vorzeichen
  • Gespeichert als 4-Byte (32-Bit) Ganzzahlen ohne Vorzeichen
  • Bereich ist 0 bis 2 32 -1
uint64 64-Bit-Integer-Arrays ohne Vorzeichen
  • Gespeichert als 8-Byte (64-Bit) Ganzzahlen ohne Vorzeichen
  • Bereich ist 0 bis 2 64 -1

Lesen Sie: While-Schleife in MATLAB: Alles, was Sie wissen müssen

Logischer Typ

Wahre und falsche Werte werden mit den logischen Werten 0 und 1 dargestellt. Jeder numerische Wert (nicht komplex) kann in eine logische Darstellung umgewandelt werden.

Syntax : L = logisch (x)

Die obige Anweisung konvertiert x in ein beliebiges Array von logischen Werten. Das Nicht-Null-Element von x wird in den logischen Wert 1 (wahr) umgewandelt, und der Nullwert wird in den logischen Wert 0 (falsch) umgewandelt.

Zeichen- und Zeichenfolgentyp

Das Zeichen- und String-Array von MATLAB bietet Speicherplatz für Textdaten. Die Zeichenfolge ist ein Zeichen-Array im Vergleich zu der Zahlenfolge, die als numerisches Array bezeichnet wird.

Syntax : c = 'up grad'

„up grad“ ist die Folge von Zeichen, die ein String-Array bilden. Wir können dies auch als umbrochenen Text beobachten.

Zellarray

Ein Zellen-Array ist ein MATLAB-Datentyp, der indizierte Datencontainer enthält, die als Zellen bezeichnet werden . Zellen können jede Art von Daten enthalten, enthalten üblicherweise Zeichenvektoren unterschiedlicher Länge, Zahlen, ein Array von Zahlen beliebiger Größe. Sätze von Zellen sind in () eingeschlossen, und der Zugriff auf die Zellen erfolgt über {}, mit dem beliebige Zellfunktionen erstellt, bearbeitet oder gelöscht werden können.

Syntax : c = {s,m,i,l,e}

Tische

Tabellen- oder spaltenorientierte Daten erfordern Tabellen, und diese werden als Spalten in einer Textdatei oder Tabellenkalkulation gespeichert. Es enthält Zeilen- und Spaltenvariablen. Jede Variable kann unterschiedliche Datentypen und unterschiedliche Größen haben, aber jede Variable muss die gleiche Anzahl von Zeilen haben.

Der Zugriff auf Daten zum Erstellen, Bearbeiten und Lesen der Tabellendaten erfolgt über eine Reihe von Funktionen.

Strukturen

Benannte Felder enthalten Daten mit unterschiedlichen Typen und Größen. Hier werden Datencontainer verwendet, um zusammengehörige Daten und deren Typ zu gruppieren, die als Felder bezeichnet werden . Felder können beliebige Datentypen enthalten.

Der Zugriff auf die Daten in den Strukturen erfolgt über die Punktnotation.

Format: Strukturname.Feldname.

Beispiel:

Die Skalarstruktur wird verwendet, um Patientendatensätze zu speichern, die zur selben Gruppe gehören.

patient(1).name = 'John Doe';

Patient(1).Abrechnung = 127,00;

patient(1).test = [79, 75, 73; 180, 178, 177,5; 220, 210, 205];

Funktionsgriffe

Die Verwendung eines Funktionshandles dient hauptsächlich dazu, eine Funktion (numerisch oder char) an eine andere Funktion zu übergeben. Variablen, die zum indirekten Aufrufen von Funktionen verwendet werden, können als Funktionshandle bezeichnet werden .

Um ein Funktionshandle zu erstellen, wird der Operator '@' verwendet.

Beispiel: Um ein Funktionshandle zum Auswerten von a2 -b2 zu erstellen, wird folgende Funktion verwendet:

F = @(a,b) (a.^2 – b.^2);

Identifikation des Datentyps

MATLAB verfügt über eine Reihe von Variablen, die zur Identifizierung des Datentyps verwendet werden

Kalenderdauer Um zu prüfen, ob die Eingabedaten ein Array für die Kalenderdauer sind
Inselstr Um zu prüfen, ob es sich bei den Eingabedaten um ein Zellenarray handelt, das aus Zeichenvektoren besteht
Insel Um zu prüfen, ob die Eingabedaten ein Zellenarray sind
isjava Um zu prüfen, ob Eingabedaten Java-Objekte sind
ischar Um zu prüfen, ob die Eingabedaten ein Zeichenarray sind
ist kategorisch Um zu überprüfen, ob die Eingabedaten ein kategorisches Array sind
Dauer Um zu überprüfen, ob die Eingabedaten ein Dauer-Array sind
isenum Um zu prüfen, ob die Variable eine Aufzählung ist
schwimmt Um zu überprüfen, ob die Eingabedaten ein Gleitkomma-Array sind
istdatetime Um zu prüfen, ob die Eingabedaten ein Datetime-Array sind
ist ganzzahlig Um zu prüfen, ob die Eingabedaten ein Integer-Array sind
stabil Um zu prüfen, ob die Eingabedaten eine Tabelle sind
Isgrafiken True für gültige Grafikobjekt-Handles
istnumerisch Um zu prüfen, ob die Eingabedaten ein numerisches Array sind
isobject Um zu prüfen, ob die Eingabedaten ein MATLAB-Objekt sind
ist echt Um zu prüfen, ob das Array echt ist
iststring Um zu prüfen, ob die Eingabedaten ein String-Array sind
anweisen Um zu prüfen, ob die Eingabedaten ein Strukturarray sind
validattribute Überprüfen Sie die Gültigkeit des Arrays
istfahrplan Um zu prüfen, ob es sich bei den Eingabedaten um einen Zeitplan handelt
ist ein Um zu prüfen, ob die Eingabedaten einen bestimmten Datentyp haben
istlogisch Um zu prüfen, ob die Eingabedaten ein logisches Array sind
ist* Zustand erkennen
Klasse Objektklasse

Datentypkonvertierung

Die folgenden Funktionen werden verwendet, um zwischen verschiedenen MATLAB-Datentypen, einem numerischen Array, einem Zeichen-Array, einem Zellen-Array, Strukturen oder Tabellen zu wechseln.

char – Zeichenarray

cellstr – Zum Wechseln zum Zellenarray von Zeichenvektoren

int2str – Um Ganzzahlen in Zeichen umzuwandeln

mat2str – Um die Matrix in Zeichen zu ändern

num2str – Um Zahlen in ein Zeichenarray umzuwandeln

str2double – Zum Ändern von Zeichenfolgen in Werte mit doppelter Genauigkeit

str2num – Um ein Zeichenarray oder eine Zeichenfolge in ein numerisches Array zu ändern

native2unicode – Zum Ändern numerischer Bytes in die Unicode-Zeichendarstellung

unicode2native – Zum Ändern der Unicode-Zeichendarstellung in numerische Bytes

base2dec – Zum Ändern von Text, der eine Zahl in der Basis N darstellt, in eine Dezimalzahl

hex2dec – Um die Textdarstellung einer Hexadezimalzahl in eine Dezimalzahl zu ändern

hex2num – Zum Ändern des IEEE-Hexadezimalformats in eine Zahl mit doppelter Genauigkeit

num2hex – Zum Ändern von Zahlen mit einfacher und doppelter Genauigkeit in das IEEE-Hexadezimalformat

table2array – Um die Tabelle in ein homogenes Array zu ändern

table2cell – Um die Tabelle in ein Zellenarray zu ändern

table2struct – Um die Tabelle in ein Strukturarray zu ändern

array2table – Um das homogene Array in eine Tabelle umzuwandeln

cell2table – Um das Zellenarray in eine Tabelle umzuwandeln

struct2table – Um das Strukturarray in eine Tabelle zu ändern

cell2mat – Um das Zellenarray in ein gewöhnliches Array des zugrunde liegenden Datentyps zu ändern

cell2struct – Um das Zellarray in ein Strukturarray zu ändern

mat2cell – Um ein Array in ein Zellenarray zu ändern, dessen Zellen Unterarrays enthalten

num2cell – Um Array in Zellenarray mit Zellen mit einheitlicher Größe zu ändern

struct2cell – Um die Struktur in ein Zellenarray zu ändern

Lesen Sie auch: Rekursion in der Datenstruktur: Funktionsweise, Typen und Verwendung

Fazit

Aus dem obigen Artikel haben wir einen Überblick über verschiedene MATLAB-Datentypen erhalten. Jeder dieser Datentypen ist für MATLAB-Benutzer sehr wichtig, um die MATLAB-Programmierung zu verstehen und effektiv zu nutzen. MATLAB ist aufgrund seiner präzisen Berechnung, Syntax und großen Community-Unterstützung in den Bereichen Wissenschaft und Technik sehr beliebt.

Wenn Sie mehr über MATLAB, maschinelles Lernen und seine relevanten Themen erfahren möchten, sehen Sie sich das PG-Diplom in maschinellem Lernen und KI von IIIT-B & upGrad an, das für Berufstätige konzipiert ist und mehr als 450 Stunden strenges Training bietet, 30+ Fallstudien und Aufgaben, IIIT-B-Alumni-Status, mehr als 5 praktische, praktische Abschlussprojekte und Arbeitsunterstützung bei Top-Unternehmen.

Welche unterschiedlichen Datentypen werden in MATLAB verwendet?

Daten in MATLAB können entweder numerisch oder Zeichen sein. Numerische Daten stellen Werte dar, die den Zahlen und arithmetischen Operationen entsprechen, mit denen Sie vertraut sind, wie z. B. Addition und Multiplikation. Zeichendaten sind Textfolgen, wie Wörter, Buchstaben oder Symbole (wie „$“). Auf die Elemente von Zeichen-Arrays kann mit derselben Syntax wie auf numerische Daten zugegriffen werden (z. B. C('Dies ist ein Zeichen-Array') gibt das Element von Array C zurück, das die Zeichenfolge enthält, Dies ist ein Zeichen-Array).

Was sind Strukturen in MATLAB?

MATLAB enthält drei Klassen von Strukturen: Zellen-Arrays, Strukturen und Handle-Arrays. Ein Zellenarray ist eine einzelne Datenstruktur, die Elemente verschiedener Typen enthält. Ein Zellen-Array ist eigentlich eine Gruppe von Strukturen, von denen jede ein Element des Arrays enthält. Wenn Sie die Funktion cell() verwenden, um ein Zellenarray zu erstellen, füllt MATLAB das Array standardmäßig mit Nullen. Eine Struktur ist eine Sammlung von Variablen, die alle den gleichen Namen haben, aber unterschiedliche Typen haben können. MATLAB behandelt Strukturen als Zellenarrays. Sie können nur eine Struktur in einem Zellenarray speichern. Ein Handle-Array ist ein Container für Verweise auf andere MATLAB-Arrays oder auf Objekte wie Graphen und Abbildungen. Sie können mehrere Handle-Arrays in einem Zellenarray speichern.

Wie identifiziert man den Datentyp in Matlab?

Dies kann mit dem Befehl isa in Matlab erfolgen. Die Syntax des isa-Befehls lautet wie folgt: isa(my_data). Beispiel: Wenn Sie den Datentyp von my_data wissen möchten, können Sie den isa-Befehl wie folgt verwenden: isa(my_data) Dies gibt den folgenden Text zurück: int64, int32, int16, uint8, uint32, uint64, complex64, complex128, char . Dieser Befehl darf nur in Matlab verwendet werden.