sorting an array in a specific order

2 Ansichten (letzte 30 Tage)
Max
Max am 10 Aug. 2022
Kommentiert: Max am 10 Aug. 2022
How would I sort array elements in ascending order based on how close they are to a specific value. For example if x=[1 2 2.5 3 4 5] and y= 3.4 how would I make x arrange as [3 4 2.5 2 5 1]?

Akzeptierte Antwort

Matt J
Matt J am 10 Aug. 2022
Bearbeitet: Matt J am 10 Aug. 2022
x=[1 2 2.5 3 4 5]; y= 3.4;
[~,is]=sort(abs(x-y))
is = 1×6
4 5 3 2 6 1
x=x(is)
x = 1×6
3.0000 4.0000 2.5000 2.0000 5.0000 1.0000

Weitere Antworten (0)

Kategorien

Mehr zu Shifting and Sorting Matrices finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by