如何根据matlab表的行顺序排列matlab结构的字段顺序?

时间:2016-07-13 08:36:05

标签: matlab

我有一个带有7个字段的1x1 matlab结构数据,例如athe,bted,bdou,ccour,chr,crt,cpoy和7x1 matlab表,其中包含行ccour,athe,cpoy,bted,chr,bdou,crt。如何根据matlab表的行顺序排列matlab结构的顺序?非常感谢。

3 个答案:

答案 0 :(得分: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

按顺序(bb,aa,cc)创建一个包含3个变量的表;

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

T = 

bb    aa    cc
__    __    __

3     2     4 

根据T变量的顺序在S上订购字段:

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

S2 = 

bb: 4
aa: 2
cc: 3

答案 1 :(得分:0)

您想要查看函数orderfields

答案 2 :(得分:0)

orderfields(structVar,fieldnames(structVar));