Cell-Arrays
Listen (Cell-Arrays) sind multidimensionale Arrays, wobei die Listenelemente (Cells) beliebige, unterschiedliche Aggregationen (Vektoren, Matrizen, Strukturen oder Listen) oder skalare Größen sein dürfen. Listen werden elementweise definiert.
Befehl | Funktion |
zelle={wert11, wert12 ...; wert21, wert22} | Erzeugen eines Cell-Arrays |
---|---|
zelle{index}= wert | Erzeugen eines Cell-Arrays |
cell(n) | Erzeugen eines n x n - Cell-Arrays |
cell(n,m) | Erzeugen eines n x m - Cell-Arrays |
Man erzeugt Cell-Arrays entweder mit Hilfe des Befehls cell oder durch den Listennamen gefolgt von in '{}' stehenden Indizes, wohin die Informationen in der Liste gespeichert werden sollen.
Als Beipiel erstellen wir eine zweidimensionale 2*2 - Liste A:
>> A = cell(2,2);
>> A{1,1} = [1 2 3;4 5 6;7 8 9];
>> A{1,2} = 'Maxi Drehmoment';
>> Student = struct('Vorname','Max','Nachname','Musterstudent','Matrikelnummer',1526356,'Noten',[2 3 1 2]);
>> A{2,1} = Student;
>> A{2,2} = -5:5;
Wie im Beispiel ersichtlich ist es in Cell-Arrays problemlos möglich in eine Liste sowohl Vektoren, Matrizen, Strukturen und Listen miteinander zu kombinieren.
Gibt man nun den Namen des Cell-Arrays an, erscheint seine Struktur. Will man gezielt auf Inhalte der Liste zugreifen, geschieht dies mit dem Namen der Liste, indiziert mit Hilfe geschweifter Klammern.
>> A
A =
[3x3 double] 'Maxi Drehmoment'
[1x1 struct] [1x11 double]
bzw. der Zugriff auf ein bestimmtes Element der Liste>> A{2,1}
ans =
Vorname: 'Max'
Nachname: 'Musterstudent'
Matrikelnummer: 1526356
Noten: [2 3 1 2]
Sie sehen, es ist auch möglich ein Struct-Array in einer Zelle eines Cell-Arrays abzulegen und umgekehrt.
Vermeiden Sie jedoch unnötig komplizierte Strukturen!