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

New to MATLAB?

sorting coordiantes from a file

Asked by saad

saad (view profile)

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

saad (view profile)

Products

No products are associated with this question.

3 Answers

Answer by Walter Roberson

Walter Roberson (view profile)

on 12 Dec 2012

sortrows()

0 Comments

Walter Roberson

Walter Roberson (view profile)

Answer by saad

saad (view profile)

on 12 Dec 2012
Edited by saad

saad (view profile)

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

Walter Roberson (view profile)

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

saad (view profile)

Answer by saad

saad (view profile)

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

Walter Roberson (view profile)

on 12 Dec 2012
b = sortrows(a)

Notice that I did not have a ,1 argument.

saad

saad (view profile)

on 12 Dec 2012

Thanks , solved -----

Image Analyst

Image Analyst (view profile)

on 13 Dec 2012

Then mark this question as "Answered" - OK?

saad

saad (view profile)

Contact us