How to find the second closest number?

3 visualizaciones (últimos 30 días)
Yuli Hartini
Yuli Hartini el 5 de En. de 2017
Respondida: KSSV el 5 de En. de 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 comentario
David Goodmanson
David Goodmanson el 5 de En. de 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.

Iniciar sesión para comentar.

Respuesta aceptada

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

Más respuestas (0)

Categorías

Más información sobre Shifting and Sorting Matrices en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by