Zellarrays in Matlab
Ich möchte Ihnen die Verwendung von Zellarrays in Matlab näherbringen. In dieser Lektion zeige ich Ihnen, wie Sie effektiv mit ihnen arbeiten können.
Was genau ist ein Zellarray? Ein Zellarray ist ein Array, in dem jedes Element, eine sogenannte "Zelle", ein weiteres Array speichert. Es handelt sich also um ein Array aus Arrays. Innerhalb des Arrays müssen alle Elemente denselben Typ aufweisen, doch die Zellen können Arrays unterschiedlicher Datentypen beinhalten.
Erstellung eines Zellarrays
Um ein Zellarray zu erstellen, nutzen Sie die Funktion cell(m,n). Hierbei stehen m und n für die Anzahl der Reihen und Spalten des Zellarrays.
Zum Beispiel: Geben Sie cell(3,3) ein.
>> myVar=cell(3,3)
myVar =
3×3 Zellarray
{0×0 double} {0×0 double} {0×0 double}
{0×0 double} {0×0 double} {0×0 double}
{0×0 double} {0×0 double} {0×0 double}
Durch die Funktion cell(3,3) entsteht ein 3x3 Zellarray mit drei Reihen und drei Spalten, welches der Variablen myVar zugewiesen wird. Zu Beginn sind alle Zellen leer.
Alternativ können Sie das Zellarray auch durch Angabe der Zellinhalte in geschweiften Klammern definieren.
A={"Mathematik", "Latein", "Naturwissenschaften"; 27, 30, 18}
A =
2×3 Zellarray
{"Mathematik"} {"Latein"} {"Naturwissenschaften"}
{ [27]} { [30]} { [18]}
Einfügen von Arrays in ein Zellarray
Um ein Array einer Zelle zuzuweisen, geben Sie den Namen des Zellarrays an und spezifizieren die Zellenposition in geschweiften Klammern. Danach folgt das einzufügende Array, getrennt durch ein Gleichheitszeichen (=).
Ein Beispiel: Geben Sie myVar(1,1)={ [1 2;3 4] } ein, um das Array [1 2; 3 4] in die Zelle (1,1) einzufügen:
>> myVar(1,1)={[1 2;3 4]}
myVar =
3×3 Zellarray
{2×2 double} {0×0 double} {0×0 double}
{0×0 double} {0×0 double} {0×0 double}
{0×0 double} {0×0 double} {0×0 double}
Geben Sie nun myVar(1,3)={ ['A' 'B' 'C' 'D'] } ein, um das Array ['A' 'B' 'C'] in die Zelle (1,3) zuzuweisen:
>> myVar(1,3)={['A' 'B' 'C' 'D']}
myVar =
3×3 Zellarray
{2×2 double} {0×0 double} {'ABCD' }
{0×0 double} {0×0 double} {0×0 double}
{0×0 double} {0×0 double} {0×0 double}
Das Zellarray setzt sich aus zwei unterschiedlichen Array-Typen zusammen: numerische und alphanumerische Daten.
Hinweis: Es ist nicht erforderlich, alle Zellen zu belegen oder eine bestimmte Reihenfolge einzuhalten. Nicht belegte Zellen bleiben leer.
Zugriff auf Zellen
Um den Inhalt einer Zelle auszulesen, geben Sie den Namen des Zellarrays an und markieren Sie die Zellenposition in Klammern.
Zum Beispiel: Geben Sie myVar(1,3) ein, um den Inhalt der Zelle (1,3) zu lesen.
>> myVar(1,3)
ans =
1×1 Zellarray
{'ABCD'}
Bei Zellarrays verwendet man Klammern für die Indizierung und eckige Klammern für den direkten Zugriff auf die Inhalte.
Mit Slicing können Sie auch mehrere Zellen gleichzeitig auswählen. Geben Sie z.B. myVar(1:2,1:2) ein, um die Zellen der ersten zwei Reihen und Spalten auszuwählen.
>> myVar(1:2,1:2)
ans =
2×2 Zellarray
{2×2 double} {0×0 double}
{0×0 double} {0×0 double}
Dadurch können Sie mit einer einzigen Auswahl mehrere Datensegmente aus dem Zellarray extrahieren.
Darstellung von Zellarrays
Um alle Inhalte eines Zellarrays einzusehen, verwenden Sie den Befehl celldisp().
So zeigt z.B. der Befehl celldisp(myVar) alle Inhalte des in der Variablen myVar gespeicherten Zellarrays an.
>> celldisp(myVar)
myVar{1,1} =
1 2
3 4
myVar{2,1} = [ ]
myVar{3,1} = [ ]
myVar{1,2} = [ ]
myVar{2,2} = [ ]
myVar{3,2} = [ ]
myVar{1,3} = ABCD
myVar{2,3} = [ ]
myVar{3,3} = [ ]
Die grafische Darstellung der Inhalte ist ebenfalls möglich, und zwar mit der Funktion cellplot().
Zum Beispiel zeigt der Befehl cellplot(myVar) das Zellarray in einem grafischen Layout an.
>> cellplot(myVar)

Nach dieser Erläuterung sollten Sie nun mit den Grundlagen der Zellarrays in Matlab vertraut sein und wissen, wie sie angewendet werden.