2017-07-19 2 views
1

Unten ist ein Code, der beim Extrahieren der a-Zelle Array von ID-Namen aus der Struktur funktioniert. Es verwendet eine for-Schleife, um dies zu erreichen. Ich frage mich jedoch, ob es eine Möglichkeit gibt, die gleiche Aufgabe ohne Forloop durchzuführen?Multi-Struktur-Ausgabe zu Liste

tft(1).Id = 'Name1'; 
tft(1).Desc = 'goes by the name'; 
tft(2).Id = 'Name2'; 
tft(2).Desc = 'hates the name'; 

for a=1:length(tft) 
    list{a} = tft(a).Id 
end 

Antwort

2

Es gibt eine Dokumentationsseite auf diese Frage gewidmet: Access Elements of a Nonscalar Struct Array.

Da tft.Id kehrt eine durch Kommata getrennte Liste zu tun, können Sie es in eine Zelle Array konvertieren direkt in geschweiften Klammern durch Einschließen:

list = {tft.Id}; 
+0

Danke für die Info. Jetzt weiß ich, wie das heißt. –