Basic While Loop Help?

(Ajay deleted the question, so I (MF) am restoring it.)
I have to write a function that will sort a one-dimensional array using looping and conditionals without using the sort or sortrow commands. The function has to be called MySort.m, which takes as an input a 1-dimensional vector and sorts the values in a speci ed order(ascending or descending). If no order is speci ed, the default should be to sort in ascending order.
I know the function declaration is function output = MySort(input, method) but i don't really know where to go from there?
The second input to the MySort, method, should be a string 'ascending' or 'descending'. If the function is called with only one argument, i.e. output MySort(input), then the data in input should be sorted in ascending order.
Our teacher gave us the hint to use the variable nargin inside MySort and consider making use of the min and max functions and for or while when sorting....but i still need help even starting! t

4 Comments

Content of the question was edited out of existence by the original poster :(
Image Analyst
Image Analyst on 8 Oct 2012
Edited: Image Analyst on 8 Oct 2012
For future reference, once someone responds to your post, you can't delete it anymore because there are responses from others now in the thread that don't "belong" to you and therefore you can't delete the entire thread (conversation). So you might want to make sure you've really tried to solve it yourself and used resources like the help facility within MATLAB, and searching the MATLAB Central web site, and the Internet before posting here.
Saved from the Google cache:
I have to write a function that will sort a one-dimensional array using looping and conditionals without using the sort or sortrow commands. The function has to be called MySort.m, which takes as an input a 1-dimensional vector and sorts the values in a speci ed order(ascending or descending). If no order is speci ed, the default should be to sort in ascending order.
I know the function declaration is function output = MySort(input, method) but i don't really know where to go from there?
The second input to the MySort, method, should be a string 'ascending' or 'descending'. If the function is called with only one argument, i.e. output MySort(input), then the data in input should be sorted in ascending order.
Our teacher gave us the hint to use the variable nargin inside MySort and consider making use of the min and max functions and for or while when sorting....but i still need help even starting! t

Sign in to comment.

Answers (1)

Andrei Bobrov
Andrei Bobrov on 8 Oct 2012

0 votes

Please see answer by Jan Simon

4 Comments

Ajay
Ajay on 8 Oct 2012
but where does nargin come into play?
if nargin is 1 then the second argument has not been provided.
eg
function [out,idx] = YourSort(A,s)
if nargin < 2, s = 'ascend'; end
...
You might also want to test nargin == 0 (that is, no arguments provided)

Sign in to comment.

Categories

Asked:

on 8 Oct 2012

Community Treasure Hunt

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

Start Hunting!