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!