How to sort a vector based on the absolute difference of the sorted vector
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Baththama Alhassan
le 14 Déc 2021
Commenté : Baththama Alhassan
le 20 Déc 2021
Example: a= [2,3,6,12,7,18,25,0,28,5]
b= [0,2,3,5,6,7,12,18,25,28]
absolutediffofb=[2,1,2,1,1,5,6,7,3]
arrangeb=[(2,3)(5,6)(6,7)(0,2)(3,5)(25,28)(7,12)(12,18)(18,25)]
2 commentaires
Awais Saeed
le 14 Déc 2021
It is not clear what you are trying to do? How do you read 'arrangeb'? Show us what have you tried and what issues are you facing.
Réponse acceptée
David Goodmanson
le 14 Déc 2021
Hi Awais,
a= [2,3,6,12,7,18,25,0,28,5]
b = sort(a)' % column vector
c = [b(1:end-1) b(2:end)];
d = [diff(c,[],2) c];
e = sortrows(d)
e =
1 2 3
1 5 6
1 6 7
2 0 2
2 3 5
3 25 28
5 7 12
6 12 18
7 18 25
The ordered pairs are in columns 2 and 3. Some format like this is necessary since
[(2,3)(5,6)(6,7)(0,2)(3,5)(25,28)(7,12)(12,18)(18,25)]
is not part of Matlab syntax.
3 commentaires
Image Analyst
le 15 Déc 2021
Where is "arrangeb"? It looks like you might be missing this:
arrangeb = e(:, 2:3);
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Shifting and Sorting Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!