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