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 Kommentare

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]

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

madhan ravi
madhan ravi am 21 Dez. 2018
Bearbeitet: madhan ravi am 21 Dez. 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 Kommentare

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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Programming finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by