Hauptinhalt

Hinzufügen oder Löschen von Zellen in einem Zellen-Array

Zellen-Arrays folgen denselben Grundregeln für die Erweiterung, Verknüpfung und Löschung wie andere Typen von MATLAB®-Arrays. Sie können jedoch auf zwei Arten auf ein Zellen-Array zugreifen: mit geschweiften Klammern {}, um auf Zellinhalte zuzugreifen, oder mit Klammern (), um auf die Zellen selbst zu verweisen. Beachten Sie diese Unterscheidung, wenn Sie in einem Zellen-Array Zellen hinzufügen, löschen oder kombinieren.

Hinzufügen von Zellen

Eine gängige Methode zur Erweiterung eines Zellen-Arrays besteht in der vertikalen oder horizontalen Verknüpfung von Zellen-Arrays. Verwenden Sie den Standard-Verknüpfungsoperator [] (eckige Klammern). Trennen Sie bei der vertikalen Verknüpfung die Elemente mit Semikolons und bei der horizontalen Verkettung mit Kommas.

C1 = {'one',2};
C2 = {ones(3,3),'four'};

C = [C1; C2]
C=2×2 cell array
    {'one'     }    {[   2]}
    {3×3 double}    {'four'}

C_horz = [C1,C2]
C_horz=1×4 cell array
    {'one'}    {[2]}    {3×3 double}    {'four'}

Die Verknüpfung eines Zellen-Arrays und eines Nicht-Zellen-Arrays schließt das Nicht-Zellen-Array in einer einzigen Zelle ein. Daher muss das Zellen-Array ein Vektor sein.

A = [1 2 3; 4 5 6];
C3 = [C1,A]
C3=1×3 cell array
    {'one'}    {[2]}    {2×3 double}

Mit num2cell können Sie separate Zellen aus dem Nicht-Zellen-Array erstellen.

C4 = [C,num2cell(A)]
C4=2×5 cell array
    {'one'     }    {[   2]}    {[1]}    {[2]}    {[3]}
    {3×3 double}    {'four'}    {[4]}    {[5]}    {[6]}

Zellen-Arrays unterstützen auch skalare Erweiterungen. Das heißt, wenn Sie dem Inhalt von Zellen außerhalb des bestehenden Arrays Werte zuweisen, wird das Array erweitert, um sie aufzunehmen. Das erweiterte Array ist rechteckig und alle dazwischen liegenden Zellen enthalten leere numerische Arrays. Verwenden Sie geschweifte Klammern, wenn Sie den Inhalt einer Zelle zuweisen.

C{3,3} = 9
C=3×3 cell array
    {'one'     }    {[       2]}    {0×0 double}
    {3×3 double}    {'four'    }    {0×0 double}
    {0×0 double}    {0×0 double}    {[       9]}

C{end,end+1} = []
C=3×4 cell array
    {'one'     }    {[       2]}    {0×0 double}    {0×0 double}
    {3×3 double}    {'four'    }    {0×0 double}    {0×0 double}
    {0×0 double}    {0×0 double}    {[       9]}    {0×0 double}

Um den Inhalt von Zellen zu ersetzen, definieren Sie ein Zellen-Array mit geschweiften Klammern und ordnen es dann mithilfe von Klammern einem entsprechend großen Satz von Zellen zu.

C(3,:) = {'replacement', rand(2,2), 42, 'row'}
C=3×4 cell array
    {'one'        }    {[       2]}    {0×0 double}    {0×0 double}
    {3×3 double   }    {'four'    }    {0×0 double}    {0×0 double}
    {'replacement'}    {2×2 double}    {[      42]}    {'row'     }

Löschen von Zellen

Die Syntax zum Entfernen von Zeilen oder Spalten eines Zellen-Arrays entspricht der anderer MATLAB Arrays. Setzen Sie die Zellen einem Paar leerer eckiger Klammern gleich. Entfernen Sie zum Beispiel die zweite Zeile von C.

C(2,:) = []
C=2×4 cell array
    {'one'        }    {[       2]}    {0×0 double}    {0×0 double}
    {'replacement'}    {2×2 double}    {[      42]}    {'row'     }

Wenn Sie Indizes in geschweifte Klammern einschließen, wird der Inhalt einer Zelle durch ein leeres Array ersetzt.

C{1,1} = []
C=2×4 cell array
    {0×0 double   }    {[       2]}    {0×0 double}    {0×0 double}
    {'replacement'}    {2×2 double}    {[      42]}    {'row'     }

Kombinieren von Zellen

Zellen können Daten beliebigen Typs und beliebiger Größe enthalten. Daher setzt die Kombination von Zellen oder die gleichzeitige Extraktion von Daten aus mehreren Zellen voraus, dass die Daten kompatibel sind. Einzelheiten und Beispiele finden Sie unter Zugreifen auf Daten in einem Zellen-Array.

Siehe auch

Themen