Mercurial > hg > aimmat
diff aim-mat/tools/sortstruct.m @ 0:74dedb26614d
Initial checkin of AIM-MAT version 1.5 (6.4.2011).
author | tomwalters |
---|---|
date | Fri, 20 May 2011 12:32:31 +0100 |
parents | |
children | 20ada0af3d7d |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/aim-mat/tools/sortstruct.m Fri May 20 12:32:31 2011 +0100 @@ -0,0 +1,40 @@ +% tool +% +% INPUT VALUES: +% +% RETURN VALUE: +% +% +% (c) 2003-2008, University of Cambridge, Medical Research Council +% Maintained by Tom Walters (tcw24@cam.ac.uk), written by Stefan Bleeck (stefan@bleeck.de) +% http://www.pdn.cam.ac.uk/cnbh/aim2006 +% $Date: 2008-06-10 18:00:16 +0100 (Tue, 10 Jun 2008) $ +% $Revision: 585 $ + +function ret=sortstruct(str,topic,nr_second_dimension) +% sorts the structure str by the values in "topic" +% if topic is twodimensional, then "nr_second_dimension" gives the chosen +% number + + +if nargin < 3 + nr=size(str,2); + for i=1:nr + sortcount(i)=eval(sprintf('str{%d}.%s',i,topic)); + end + for i=1:nr + [ismax,womax]=max(sortcount); + ret{i}=str{womax}; + sortcount(womax)=-inf; % den möchte ich nicht mehr sehen! + end +else + nr=size(str,2); + for i=1:nr + sortcount(i)=eval(sprintf('str(%d).%s(%d)',i,topic,nr_second_dimension)); + end + for i=1:nr + [ismax,womax]=max(sortcount); + ret(i)=str(womax); + sortcount(womax)=-inf; % den möchte ich nicht mehr sehen! + end +end \ No newline at end of file