2016-07-13 8 views

Antwort

1

Verwenden orderfields

http://ch.mathworks.com/help/matlab/ref/orderfields.html

Wenn Sie eine Struktur S und eine Tabelle T, verwenden T.Properties.VariableNames die Spaltennamen der Tabelle zu erhalten:

orderfields(S, T.Properties.VariableNames); 

Beispiel:

Erstellen Sie eine Struktur mit 3 Feldern in der Reihenfolge (aa, cc, bb):

S.aa = 2; 
S.cc = 3; 
S.bb = 4; 

S = 

aa: 2 
cc: 3 
bb: 4 

Erstellen Sie eine Tabelle aus 3 Variablen in der Reihenfolge (bb, aa, cc);

aa = 2 
bb = 3 
cc = 4; 
T = table(bb,aa,cc) 

T = 

bb aa cc 
__ __ __ 

3  2  4 

Bestellen Felder auf S nach der Reihenfolge von T Variablen:

S2 = orderfields(S, T.Properties.VariableNames) 

S2 = 

bb: 4 
aa: 2 
cc: 3 
+0

Soll ich meine Matlab Tabelle auf struct konvertieren? Ich habe Strukturdaten und Matlab-Daten, wobei ich die Reihenfolge der Matlab-Struktur basierend auf der Reihenfolge der Zeilen der Matlab-Tabelle, die ich habe, arrangieren muss. – RSo

+0

Ich habe meine Antwort aktualisiert. Sie können Ihre Tabellenspaltennamen mit 'T.Properties.VariableNames' erhalten und sie als zweiten Parameter für' Orderfields' verwenden. –

+0

funktionierte immer noch nicht – RSo

Verwandte Themen