Finding 4 closest values to a value in an array

How do I find multiple points close to a particular number in an array? I can do this for one value but how do I extend that?

 Accepted Answer

use mink
[~,idx] = mink(abs(data-find_point),5);
data(idx)

2 Comments

Hi, Thankyou! How can I extend this to select maybe two values above and below the value I want?
You'd play around with (data-find_point) without the abs(). Algorithm something like:
  • separate data into values equal to, larger than, smaller than find_point
  • keep all equal to
  • find smallest 2 positive error
  • find largest 2 negative error

Sign in to comment.

More Answers (0)

Categories

Asked:

AAS
on 28 Sep 2020

Commented:

on 29 Sep 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!