MATLAB Answers

saad

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

Products

No products are associated with this question.

3 Answers

Answer by Walter Roberson
on 12 Dec 2012

sortrows()

  0 Comments


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.


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?


Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply today