2017-01-17 4 views
1

I variable Zelle haben, in dem die Bildflecken auf diese Weise gespeichert werden: enter image description hereKombination all die Zelle in MATLAB

Ich möchte alle diese Zellen kombinieren, wie es sollte 834 x 1.
Ich bin zu verwechseln, wie kann ich das machen?

Antwort

2

Die akzeptierte Antwort geht davon aus, dass Sie separate Zellenfelder als Variablen haben. Wenn das der Fall ist, dann ist das völlig in Ordnung. Sie haben jedoch erwähnt, dass Sie ein verschachteltes Zellenarray haben, bei dem jedes Element ein Zellenarray ist. Wenn dies der Fall ist, ist die angenommene Antwort nicht korrekt.

Der richtige Weg, dies zu tun wäre, vertcat zu verwenden und alle Ihre Zellen als comma-separated list extrahieren, so dass Sie eine endgültige Zelle erstellen können, die alle verschachtelten Zellen miteinander kombiniert. Vorausgesetzt, dass Ihr ursprüngliches verschachteltes Zellenfeld in C gespeichert wird, würden Sie ein neues Zellenfeld Cout erstellen, die jedes Element extrahiert und erzeugen ein letztes Zellenfeld:

Cout = vertcat(C{:}); 
-1

Ich habe mehrere Regionen:

C1 = {1, 2, 3}; 
C2 = {'A', 'B', 'C'}; 
C3 = {10, 20, 30}; 

Concatenate Zellen-Arrays mit dem Array Verkettungsoperator, []. In diesem Beispiel verketten vertikal die Zellenfelder durch Semikola Trennung:

C4 = [C1; C2; C3] 
+0

Die OP hat einen verschachtelte Zellen-Array von Zellen. Sie sind nicht in separaten Variablen, wie Sie angenommen haben. – rayryeng

Verwandte Themen