MATLAB Answers


Help..Write a Matlab function that would arrange a series of numbers without using sort

Asked by Isaac Reed on 2 May 2013
Write a Matlab function that would arrange a series of numbers (i.e. a row vector) in a descending order. As an example, use the vector 2 15 50 3 8 11 5 29

how would i do this without using the sort cmd?

thanks in advance.

  1 Comment

It is a good and established method for homework questions to show, what you have done so far and explain, which problems occurred. You cannot and should not expect the forum to solve your homework.

Log in to comment.


2 Answers

Answer by Jan Simon
on 2 May 2013
Edited by Jan Simon
on 2 May 2013

A bold version - hesitate to submit it except you can explain the "infinite monkey theorem" fluently:

x = [2, 15, 50, 3, 8, 11, 5, 29];
n = length(x);
while ~issorted(x)
  x = x(randperm(n));

Beside the fact, that this requires a ZillionHz CPU to get finished in a bearable amount of time for larger input, it is short and clear. Unfortunately there is no guarantee, that this algorithm stops, such that it does not satisfy a strict definition of a program. But the question text did not demand a "program", but a "function". If you are able to explain the the difference from the viewpoint of coding theory, I'd accept this as a valid solution.


Log in to comment.

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today