2016-07-13 56 views

回答

1

使用orderfields

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

如果你有一個結構S和一張桌子T,使用T.Properties.VariableNames拿到表的列名:

orderfields(S, T.Properties.VariableNames); 

例子:

按照順序(aa,cc,bb)創建一個具有3個字段的結構:

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

S = 

aa: 2 
cc: 3 
bb: 4 

從3個變量按順序(bb,aa,cc)創建一個表;按照T變量的順序上S

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

T = 

bb aa cc 
__ __ __ 

3  2  4 

訂購領域:

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

S2 = 

bb: 4 
aa: 2 
cc: 3 
+0

我應該將我的matlab表結構?我有一個結構數據和matlab數據,其中我需要根據我擁有的matlab錶行的順序排列matlab結構的順序。 – RSo

+0

我更新了我的答案。您可以使用'T.Properties.VariableNames'獲取表列名稱,並將它們用作'orderfields'的第二個參數。 –

+0

仍然無效 – RSo

相關問題