Date: Jun 6, 2014 2:11 PM
Author: Bruno Luong
Subject: Re: Finding position in array
dpb <email@example.com> wrote in message <firstname.lastname@example.org>...
> On 6/6/2014 12:03 PM, Bruno Luong wrote:
> >> Yet another approach somewhat akin to Bruno's...
> >> >> interp1(a,1:length(a),x,'nearest')
> >> ans =
> >> 3
> > Not completely equivalent, INTERP1 will has the resulting index jumps by
> > 1 unit when passing the middle point of the EDGES, whereas HISTC jumps
> > right at the EDGES.
> Didn't say it was equivalent; only that it is "_somewhat_ akin to"...
You should point out the difference, otherwise it can be missleading for OP.
> > INTERP1 and HISTC methods can deal with x as vector (not FIND()).
> But FIND() returns the specific preceding/following index value
> depending on the usage if that's significant. The vector of lookup
> values is easily dealt with via ARRAYFUN
IMO ARRAYFUN is a poor choice when speed is important for large array of x. I often prefer for-loop compared to ARRAYFUN.