How to find the second closest number?
8 views (last 30 days)
Show older comments
I have a matrix looks like this:
A = [1990;1993;1998;2001;2004 ]
And I would like to find the closest value to f=1999 (in this case the first closest value is certainly 1998), but how can I find the second closest value (2001) after I found the first value.
Thanks before
1 Comment
David Goodmanson
on 5 Jan 2017
Hi Yuli, if you take abs(A-your_number) and sort it, you will get the entire list of distances. The sort command also has a second output that will show you the location of each one in the unsorted array.
Accepted Answer
KSSV
on 5 Jan 2017
clc; clear all ;
A = [1990;1993;1998;2001;2004 ] ;
f = 1999 ;
[val,idx] = sort(abs(f-A)) ;
A(idx)
0 Comments
More Answers (0)
See Also
Categories
Find more on Operating on Diagonal Matrices in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!