2017-04-12 4 views
0

Wie kann ich Arrays x (1: N), y (1: N) in eine Struktur S (1: N) mit Feldern .x und .y auf schnelle Weise konvertieren ohne For-Schleife? I kann leicht x, y in ein struct von Arrays konvertieren:Matlab struct der Vektoren zum Vektor der Struct-Konvertierung

S.x = x; S.y = y; 

Da ich mit einzelnen Gruppen von (xi, yi) arbeiten muß, wie kann ich das auf ein Array von struct konvertieren? Ich habe eine Lösung zu tun dies über Tabellentyp gefunden, aber ich weiß nicht, wie diese Lösung:

S = table2struct(struct2table(S)) 

Antwort

0

Sie nur struct direkt x und y zu Zellenanordnungen nach dem ersten Umwandlung verwendet werden sollen. Wenn die an struct übergebenen Werte Zellenarrays sind, führt dies zu einem Multielement struct mit denselben Abmessungen wie dieses Zellenarray.

+0

Dank dauert dies etwa 0,2 Sekunden, um einen Strukturvektor aus zwei 1000000x1 Vektoren vs 0,7 s mit table2struct-struct2table Ansatz zu erstellen. – Sairus