Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

sorting coordiantes from a file

Asked by saad on 12 Dec 2012

i have a file which i load in matlab

the file has three columns

*xvalues*     *y values*    *energy values*
  4               5            344
  5               1             285
  0               0             455
  0               1             203 

the problem is i want to arrange 1st and 2nd columns as coordinates , so that (0,0) is followed by (0,1) and so on with there values ..

how can i sort it to align values such that the above chart is sorted to

   0               0             455
   0               1             203
   4               5             344
   5               1             285

0 Comments

saad

Products

No products are associated with this question.

3 Answers

Answer by Walter Roberson on 12 Dec 2012

sortrows()

0 Comments

Walter Roberson
Answer by saad on 12 Dec 2012
Edited by saad on 12 Dec 2012

Walter ,

I have used sortrow , but the example above was a toy ..

if

a=

 4               5            344
  5               1             285
  0               1             455
  0               0             203 

and i do b=sortrows(a,1)

then

still the second column is not arranged

0               1            455
0               0            203
4               5            344
5               1            285

where as i want to arrange exact coordinates like

b=

0               0            455
0               1            203
4               5            344
5               1            285

1 Comment

Walter Roberson on 12 Dec 2012
sortrows(a)

Note: in your sample "a" here, your 4th row is [0 0 203] which does not appear in your desired output "b". Your desired output corresponds to your original data matrix.

saad
Answer by saad on 12 Dec 2012

oh sorry that was a typo

now

a=

a=

 4               5            344
  5               1             285
  0               1             455
  0               0             203 

b=sortrows(a,1) give

b=

 0               1            455
0               0            203
4               5            344
5               1            285

Where as what i want is

b=

 0               0            203
0               1            455
4               5            344
5               1            285

3 Comments

Walter Roberson on 12 Dec 2012
b = sortrows(a)

Notice that I did not have a ,1 argument.

saad on 12 Dec 2012

Thanks , solved -----

Image Analyst on 13 Dec 2012

Then mark this question as "Answered" - OK?

saad

Contact us