Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.matlab

Topic: Finding position in array
Replies: 10   Last Post: Jun 6, 2014 6:42 PM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
dpb

Posts: 8,231
Registered: 6/7/07
Re: Finding position in array
Posted: Jun 6, 2014 1:24 PM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

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"...

> 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

>> x=[sqrt(x) x x.^1.5]
x =
2.9223 8.5400 24.9567
>> arrayfun(@(x) find(x>a,1,'last'),x)
ans =
1 3 4
>> arrayfun(@(x) find(x<a,1,'first'),x)
ans =
2 4 5
>>

--



Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.