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 № 1Sie 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}