Hauptinhalt

cell

Beschreibung

Ein Zellenarray ist ein Datentyp mit indizierten Datencontainern, die Zellen genannt werden, wobei jede Zelle einen beliebigen Datentyp enthalten kann. Zellenarrays enthalten meist entweder Textlisten, Kombinationen aus Texten und Zahlen oder numerische Arrays verschiedener Größe. Referenzieren Sie Sätze an Zellen, indem Sie die jeweiligen Indizes in runde Klammern () setzen. Greifen Sie auf Zelleninhalte zu, indem Sie diese mit geschweiften Klammern {} indizieren.

Erstellung

Um Daten in ein Zellenarray einzufügen, erstellen Sie das Array mit dem Zellenarray-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}

Zudem können Sie {} verwenden, um ein leeres 0x0-Zellenarray zu erstellen.

C = {}
C =

  0×0 empty cell array

Um ein Zellenarray mit der angegebenen Größe zu erstellen, verwenden Sie die unten beschriebene cell-Funktion.

Sie können cell verwenden, um ein Zellenarray vorzubelegen, um diesem später Daten zuzuweisen. cell wandelt zudem bestimmte Typen von Java®-, .NET- und Python®-Datenstrukturen in Zellenarrays äquivalenter MATLAB®-Objekte um.

Beschreibung

C = cell(n) gibt ein nxn-Zellenarray aus leeren Matrizen zurück.

Beispiel

C = cell(sz1,...,szN) gibt ein sz1-x...xszN-Zellenarray aus leeren Matrizen zurück, bei dem sz1,...,szN die Größe der jeweiligen Dimension angibt. cell(2,3) gibt beispielsweise ein 2x3-Zellenarray zurück.

Beispiel

C = cell(sz) gibt ein Zellenarray aus leeren Matrizen zurück, wobei der Größenvektor sz size(C) definiert. cell([2 3]) gibt beispielsweise ein 2x3-Zellenarray zurück.

Beispiel

D = cell(obj) wandelt ein Java-Array, ein .NET System.String- oder ein System.Object-Array oder eine Python-Sequenz in ein MATLAB-Zellenarray um.

Eingabeargumente

alle erweitern

Größe eines quadratischen Zellenarrays, angegeben als Ganzzahlwert.

  • Wenn n 0 ist, handelt es sich bei C um ein leeres Zellenarray.

  • Wenn n negativ ist, wird der Wert wie 0 behandelt.

Datentypen: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Größe der Dimensionen des Zellenarrays, angegeben als Ganzzahlwerte.

  • Wenn die Größe einer beliebigen Dimension 0 ist, dann ist C ein leeres Zellenarray.

  • Wenn die Größe einer beliebigen Dimension negativ ist, wird der Wert wie 0 behandelt.

  • Jenseits der zweiten Dimension ignoriert cell nachgeordnete Dimensionen mit einer Größe von 1. Beispielsweise generiert cell(3,1,1,1) ein 3x1-Zellenarray aus leeren Matrizen.

Datentypen: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Größe, angegeben als Zeilenvektor aus Ganzzahlen. Jedes Element von sz weist auf die Größe der entsprechenden Dimension hin.

  • Wenn die Größe einer beliebigen Dimension 0 ist, dann ist C ein leeres Zellenarray.

  • Wenn die Größe einer beliebigen Dimension negativ ist, wird der Wert wie 0 behandelt.

  • Jenseits der zweiten Dimension ignoriert cell nachgeordnete Dimensionen mit einer Größe von 1. Beispielsweise generiert cell([3 1 1 1]) ein 3x1-Zellenarray aus leeren Matrizen.

Beispiel: sz = [2 3 4] erstellt ein 2x3x4-Zellenarray aus leeren Matrizen.

Datentypen: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Eingabearray, angegeben als:

  • Java-Array oder -Objekt

  • .NET-Array mit dem Typ System.String oder System.Object

  • Python-Sequenz-Typ

Ausgabeargumente

alle erweitern

Ausgabearray, zurückgegeben als Zellenarray. Jede Zelle umfasst ein leeres 0x0-Array mit dem Typ double.

Konvertiertes Array, zurückgegeben als Zellenarray.

Jede Zelle enthält ein MATLAB-Objekt mit einem Typ, der dem jeweiligen Java-, .NET- oder Python-Typ am ehesten entspricht. Weitere Informationen finden Sie hier:

Beispiele

alle reduzieren

Wenn zusammengehörende Datenelemente verschiedene Datentypen aufweisen, können Sie diese in einem Zellenarray anordnen. Jede Zelle enthält ein Datenelement. Mithilfe von Array-Indizierung können Sie die Elemente eines Zellenarrays referenzieren. Verwenden Sie runde Klammern (), um in ein Zellenarray zu indizieren und geschweifte Klammern {}, um in den Inhalt einer Zelle zu indizieren.

Erstellen Sie ein Zellenarray mit mehreren Temperaturmesswerten, die an einem bestimmten Datum erfasst wurden. Geben Sie ein Datum als Zeichenvektor und die Temperaturen als Array aus Double-Werten an. Um diese Datenelemente in einem Zellenarray zu speichern, setzen Sie sie in geschweifte Klammern.

C = {'2017-08-16',[56 67 78]}
C=1×2 cell array
    {'2017-08-16'}    {[56 67 78]}

Fügen Sie dem Zellenarray Messwerte für weitere Daten hinzu. Eine Methode zum Hinzufügen weiterer Zellen besteht darin, das Zellenarray wie ein gewöhnliches Array durch Zuweisung zu erweitern.

C(2,:) = {'2017-08-17',[58 69 79]};
C(3,:) = {'2017-08-18',[60 68 81]}
C=3×2 cell array
    {'2017-08-16'}    {[56 67 78]}
    {'2017-08-17'}    {[58 69 79]}
    {'2017-08-18'}    {[60 68 81]}

Indizieren Sie in die erste Zeile von C. Wenn Sie mit runden Klammern () indizieren, ist das Ergebnis ein Zellenarray, das eine Untermenge des Zellenarrays ist.

C(1,:)
ans=1×2 cell array
    {'2017-08-16'}    {[56 67 78]}

Indizieren Sie in den Inhalt einer Zelle. Wenn Sie mit geschweiften Klammern {} indizieren, ist das Ergebnis das Datenelement in der angegebenen Zelle.

C{1,2}
ans = 1×3

    56    67    78

Erstellen Sie ein 3x3-Zellenarray aus leeren Matrizen.

C = cell(3)
C=3×3 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}

Erstellen Sie ein 3x4x2-Zellenarray aus leeren Matrizen.

C = cell(3,4,2);
size(C)
ans = 1×3

     3     4     2

Erstellen Sie ein Zellenarray aus leeren Matrizen mit derselben Größe wie ein bestehendes Array.

A = [7 9; 2 1; 8 3];
sz = size(A);
C = cell(sz)
C=3×2 cell array
    {0×0 double}    {0×0 double}
    {0×0 double}    {0×0 double}
    {0×0 double}    {0×0 double}

Es ist ein gängiges Muster, die beiden vorherigen Codezeilen zu einer einzigen Zeile zu kombinieren.

C = cell(size(A));

Tipps

  • Ein Zellenarray aus leeren Matrizen mit der cell-Funktion zu erstellen, ist äquivalent zur Zuweisung einer leeren Matrix zum letzten Index eines neuen Zellenarrays. Diese zwei Ausdrücke sind beispielsweise äquivalent:

    C = cell(3,4,2);
    C{3,4,2} = [];

Erweiterte Fähigkeiten

alle erweitern

Versionsverlauf

Eingeführt vor R2006a

alle erweitern