What command does the same as find but including null elements?

So this exercise asks you order any vector in a manner such that the minor elements are on the front and the major elements on the back.
Its pseudo code goes like this:
Ordering of a vector (x1, x2, . . . , xn) by selection
for i ranging from 1 to n-1
k ← i
for j ranging from i + 1 to n
if xj < xk
then k ← j
end of cycle in j
t ← xi
xi ← xk
xk ← t
end on cycle in i
Then you are asked to create a code that does the same in Matlab. Here's what i've got for starters:
v = input( 'vector? ' )
for v(1:end)
k = find(v)
My problem is that find ignores the elements that are equal to zero. That would screw up my ordering. So what command does the same as find while taking the zeros into consideration?

2 commentaires

what's the input and your desired result?
any vector at all. The desired result is the same vector ordered from minor to major elements.
for example:
vector? v = [1 8 4 3 6 6 2 4]
it would then return
v = [1 2 3 4 4 6 6 8]

Connectez-vous pour commenter.

 Réponse acceptée

madhan ravi
madhan ravi le 21 Déc 2018
Modifié(e) : madhan ravi le 21 Déc 2018
v = [1 8 4 3 6 6 2 4];
desired_result=sort(v)
Gives:
desired_result =
1 2 3 4 4 6 6 8

3 commentaires

Oh thanks thats great. The problem is that this is specifically made for showing off.
We're supposed to do it the hard way. I'd have to create a code that would manually go through each element, putting the smallest element before the bigger one.
Jesus that is pretty fuckin complex. Thanks though lol. Gonna try and figure it out.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Programming dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by