Wednesday, January 2, 2013

Matlab: Sort 2D array with respect to one column

sort function in Matlab, sorts matrix columns independently.
But,
B = sortrows(A, column) sorts the matrix based on the columns specified in the vector column. 

Example:


>> A = [2 10; -1 20; 5 40]

A =

     2    10
    -1    50
     5    15

>> sortrows(A, 1)

ans =

    -1    50
     2    10
     5    15

>> sortrows(A, 2)

ans =

     2    10
    -1    50
     5    15



Tuesday, January 1, 2013

MATLAB: String tokenizer, string split

myStr = 'one_two_three';
pieces = regexp(myStr , '_', 'split')

%Output would be an pieces array with 3 elements.
pieces =

    'one'    'two'    'three'