Hauptinhalt

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'}    {5×10×2 double}    {3×1 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 =

  0×0 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
    {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}    {0×0 double}    {0×0 double}    {0×0 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
    {10×10 double}    {10×20 double}    {10×30 double}    {10×40 double}
    {20×10 double}    {20×20 double}    {20×30 double}    {20×40 double}
    {30×10 double}    {30×20 double}    {30×30 double}    {30×40 double}

Siehe auch

Themen