/ / Platzieren mehrerer Zellen in einer einzigen Zelle - Matlab, Zelle

Platzieren mehrerer Zellen in einer einzigen Zelle - Matlab, Zelle

Ich habe n Anzahl von Zellen, die ich in eine einzelne Zelle einfügen möchte. Wenn n = 24 ist, könnte ich beispielsweise alle 24 Zellen wie folgt eingeben:

P={cell2mat(S.A1),cell2mat(S.A2),cell2mat(S.A3),...,cell2mat(S.A24)};

Klar zu tippen ist dumm. Was wäre der bessere Weg, dies zu tun? Vielleicht eine Schleife erstellen? In einigen Fällen kann ich auch ein anderes n haben, was die manuelle Methode umso weniger ansprechend macht. Könnte jemand helfen?

Vielen Dank!

Antworten:

0 für die Antwort № 1

Sie können wie folgt vorgehen.

 % some example S
S.A1 = {[1, 2, 3]};
S.A2 = {[3, 4, 5]};
S.A3 = {[5, 6, 7]};



n = 3;


one_cell = arrayfun(@(i) cell2mat(getfield(S, ["A",int2str(i)])), [1:n], "UniformOutput", 0)


one_cell{:}
%
% gives:
%
ans =

1     2     3


ans =

3     4     5


ans =

5     6     7