Main Content

Erstellen eines Zellen-Arrays

In einem Zellen-Array können verschiedene Datentypen und -Größen gespeichert werden. In der Vergangenheit wurden Zellen-Arrays für Text- und Tabellendaten verschiedener Typen wie Daten aus einer Tabellenkalkulation empfohlen. Nun sollten Sie Textdaten in einem string-Array und Tabellendaten in einem table speichern. Verwenden Sie Zellen-Arrays für heterogene Daten, die sich gut über ihre Position im Array referenzieren lassen.

Es gibt zwei Methoden, um ein Zellen-Array zu erstellen: Den Operator {} oder die Funktion cell.

Um Daten in ein Zellen-Array einzufügen, verwenden Sie den Zellen-Array-Konstruktionsoperator {}.

C = {1,2,3;
    'text',rand(5,10,2),{11; 22; 33}}
C=2×3 cell array
    {[   1]}    {[          2]}    {[     3]}
    {'text'}    {5x10x2 double}    {3x1 cell}

Wie alle MATLAB®-Arrays sind Zellen-Arrays rechteckig und weisen in jeder Zeile dieselbe Anzahl Zellen auf. C ist ein 2x3-Zellen-Array.

Zudem können Sie den Operator {} verwenden, um ein leeres 0x0-Zellen-Array zu erstellen.

C2 = {}
C2 =

  0x0 empty cell array

Wenn Sie einem Zellen-Array Werte über die Zeit hinweg oder in einer Schleife hinzufügen möchten, erstellen Sie zunächst mithilfe der Funktion cell ein leeres Array. Mit diesem Ansatz wird Speicher für den Zellen-Array-Header vorbelegt. Jede Zelle umfasst ein leeres Array [].

C3 = cell(3,4)
C3=3×4 cell array
    {0x0 double}    {0x0 double}    {0x0 double}    {0x0 double}
    {0x0 double}    {0x0 double}    {0x0 double}    {0x0 double}
    {0x0 double}    {0x0 double}    {0x0 double}    {0x0 double}

Um bestimmte Zellen auszulesen oder zu beschreiben, umgeben Sie die jeweiligen Indizes mit geschweiften Klammern. Füllen Sie beispielsweise C3 mit Arrays zufälliger Daten. Variieren Sie die Arraygröße auf Grundlage der Position im Zellen-Array.

for row = 1:3
   for col = 1:4
      C3{row,col} = rand(row*10,col*10);
   end
end
C3
C3=3×4 cell array
    {10x10 double}    {10x20 double}    {10x30 double}    {10x40 double}
    {20x10 double}    {20x20 double}    {20x30 double}    {20x40 double}
    {30x10 double}    {30x20 double}    {30x30 double}    {30x40 double}

Siehe auch

Verwandte Themen