annotate aim-mat/tools/getminimumleftof.m @ 4:537f939baef0 tip

various bug fixes and changed copyright message
author Stefan Bleeck <bleeck@gmail.com>
date Tue, 16 Aug 2011 14:37:17 +0100
parents 20ada0af3d7d
children
rev   line source
tomwalters@0 1 % tool
tomwalters@0 2 %
tomwalters@0 3 % INPUT VALUES:
tomwalters@0 4 %
tomwalters@0 5 % RETURN VALUE:
tomwalters@0 6 %
tomwalters@0 7 %
bleeck@3 8 % (c) 2011, University of Southampton
bleeck@3 9 % Maintained by Stefan Bleeck (bleeck@gmail.com)
bleeck@3 10 % download of current version is on the soundsoftware site:
bleeck@3 11 % http://code.soundsoftware.ac.uk/projects/aimmat
bleeck@3 12 % documentation and everything is on http://www.acousticscale.org
bleeck@3 13
tomwalters@0 14
tomwalters@0 15 function [pos_min,minval,index]=getminimumleftof(where,maxpos,minpos,maxs,mins)
tomwalters@0 16 % usage: [pos_min,minval]=getminimumleftof(where,womins,minvals,womaxs,maxvals)
tomwalters@0 17 % returns the minimum that is left of point "where"
tomwalters@0 18 % mins and maxs must be complete sets of minimums and maximums
tomwalters@0 19 % interwoven
tomwalters@0 20
tomwalters@0 21 pos_min=[];
tomwalters@0 22 minval=[];
tomwalters@0 23 index=-1;
tomwalters@0 24
tomwalters@0 25 if isempty(maxpos)
tomwalters@0 26 return;
tomwalters@0 27 end
tomwalters@0 28 if where < minpos(1)
tomwalters@0 29 return;
tomwalters@0 30 error('getminimumleftof:: no minimum left of point');
tomwalters@0 31 end
tomwalters@0 32
tomwalters@0 33 nr =length(where);
tomwalters@0 34 for j=1:nr
tomwalters@0 35 cwhere=where(j);
tomwalters@0 36 nr_mins=length(minpos);
tomwalters@0 37 for i=nr_mins:-1:1
tomwalters@0 38 % if fround(minpos(i),5) < fround(cwhere,5)
tomwalters@0 39 % pos_min(j)=minpos(i);
tomwalters@0 40 % minval(j)=mins(i);
tomwalters@0 41 % break;
tomwalters@0 42 % end
tomwalters@0 43 if minpos(i) < cwhere
tomwalters@0 44 pos_min(j)=minpos(i);
tomwalters@0 45 minval(j)=mins(i);
tomwalters@0 46 index=i;
tomwalters@0 47 break;
tomwalters@0 48 end
tomwalters@0 49 end
tomwalters@0 50 end