Is there a command ( like "sort" for example ) arranges vector elements ascending ,max, descending (humped shap)?

Is there a command ( like "sort" for example ) arranges vector elements ascending ,max, descending (humped shap)?

6 Comments

Why does sort not work for you? Are you looking for something more like rowsort?
'ascending, max, descending' is not uniquely defined for a vector of values. Can you give an example of what kind of logic you expect such a function to use?
for example
a = [2 5 4 1 3]
I want to arrange it like
a = [1 3 5 4 2]
based on what logic though? If I had to guess I'd say you want values sorted alternating at the start and end, with the max in the middle (assuming an odd number of elements).
yes, kind of.
but as index increase the value increases too, till maximum ,then the opposit as index increases value decreases. " hump shaped arrangement"
How do you differentiate between [24531] and [13542]?

Sign in to comment.

 Accepted Answer

>> V = randi(99,1,23)
V =
93 68 76 74 39 65 17 70 4 28 5 10 82 69 32 95 4 44 38 76 79 19 49
>> Y = sort(V);
>> Z = [Y(1:2:end),fliplr(Y(2:2:end))]
Z =
4 5 17 28 38 44 65 69 74 76 82 95 93 79 76 70 68 49 39 32 19 10 4

More Answers (1)

Yes. Use sort.
e.g.
a = [1,3,2,4];
b = sort(a,'ascend');% b = [1,2,3,4]
c = sort(a,'descend');% c = [4,3,2,1]

Categories

Products

Tags

Community Treasure Hunt

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

Start Hunting!