当前位置:编程学习 > Matlab >>

matlab 结构体排序

结构体S,有若干属性,现要取其中E属性值排名前三的结构进行操作,该怎么做? 我的做法是先对其按照属性E大小排序,排序后取前三个,但是这样无法得到前三个S的索引值,急求 是要得到排序后对应的S的索引值,不是S.E的索引值 回答的好的另有分送,万分感激
答案:%首先 获得所有E属性值
Value=S.E

%然后,对Value排序,看你是按升序还是降序,如果按升序
[Value2,pos]=sort(Value)  %Value2为升序排完后的数据,pos为Value2中的数值在Value1中对应 %的索引,详情可以help sort。

%再然后,为了得到楼主所需要的S的索引值,及对应的结构体属性
ind=pos(1:3);  %得到索引了,我想楼主应该可以你需要的结构体其他属性了
%比如想得到结构体S中的F属性
SF=S.F(ind)

上一个:如何将matlab三维图形转化成二维的,具体见图
下一个:matlab里怎么把已经画出的图形拟合成直线

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,