How to find the second closest number?

3 visualizzazioni (ultimi 30 giorni)
Yuli Hartini
Yuli Hartini il 5 Gen 2017
Risposto: KSSV il 5 Gen 2017
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 Commento
David Goodmanson
David Goodmanson il 5 Gen 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.

Accedi per commentare.

Risposta accettata

KSSV
KSSV il 5 Gen 2017
clc; clear all ;
A = [1990;1993;1998;2001;2004 ] ;
f = 1999 ;
[val,idx] = sort(abs(f-A)) ;
A(idx)

Più risposte (0)

Categorie

Scopri di più su Shifting and Sorting Matrices in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by