Date: Jun 6, 2014 2:11 PM
Author: Bruno Luong
Subject: Re: Finding position in array

dpb <none@non.net> wrote in message <lmsth7$ekd$1@speranza.aioe.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.

Bruno