/ / loop2 cell2mat, um Zellen-Arrays in Arrays umzuwandeln - Arrays, Matlab, Cell, Cell-Array

looping cell2mat zum Umwandeln von Zellen-Arrays in Arrays - Arrays, Matlab, Zellen, Zellen-Arrays

Ich habe 4865 1-durch-1 Zellenarrays, muss ich sie in ein gewöhnliches Array umwandeln cell2mat. Beim Ausführen erhalte ich folgende Fehlermeldung:

In einer Zuordnung A (I) = B muss die Anzahl der Elemente in B und I gleich sein.

for i=1:4865,

c(i) = cell2mat(A(i))

end

Antworten:

1 für die Antwort № 1

Sie können einem Index keine ganze Matrix (die sich in einer Zelle befindet) zuordnen

Nehmen wir das folgende Beispiel

>> cell_test ={[1 2 3;4 5 6],[1 2 3; 7 8 9]}

cell_test =

[2x3 double]    [2x3 double]

was du tust, ist das

>> cell_test{1}

ans =

1     2     3
4     5     6

>> b(1) = cell_test{1}
Subscripted assignment dimension mismatch.

Eine der Optionen ist, dass Sie für jeden neuen Index einen neuen Variablennamen erstellen eval() Natürlich gibt es viele andere Möglichkeiten

>> i = 1

i =

1

eval(["B_",num2str(i)  ,"=cell_test{i}"])

B_1 =

1     2     3
4     5     6

Update: Strukturmethode B(i).data = =cell_test{i}