MATLAB Answers

0

sortrows problem, i can't run my code file

Asked by SHIN,LIN HO on 28 Feb 2018
Latest activity Commented on by Walter Roberson
on 13 Aug 2018
Error using matlab.internal.math.sortrowsParseInputs>legacyParseCOL (line 106) Column sorting vector must contain integers with absolute value between 1 and the number of columns in the first argument.
Error in matlab.internal.math.sortrowsParseInputs (line 29) [col,colProvided] = legacyParseCOL(col,n,in2);
Error in sortrows (line 60) [col, nanflag, compareflag] = matlab.internal.math.sortrowsParseInputs(A,varargin{:});
Error in Final02 (line 37) Bigsize_sortcharactor=sortrows(Bigsize,11); >>

  4 Comments

Show 1 older comment
Hi Geoff I have the same problem. My matrix is a 50000 x 2 matrix where the first column includes a dummy variable(either +1 or -1) and the second column includes small values between -2 and 2 (non integers as well). I want to sort the matrix according to column 2.
Stef, please show your exact call to sortrows.
Your call to sortrows() is requesting sorting on column 11, but you only have two columns.

Sign in to comment.

Tags

1 Answer

Answer by Jos (10584)
on 13 Aug 2018

This replicates when the input to sortrows is not what you think it is.
A = [3 ; 1 ; 2] % 1 column only
sortrows(A, 2) % -> errors as observed above
You could (should?) check the dimensions of A first using
size(A,2)
@Mathworks: why don't you make this error less cryptic by stating (more) explicitly that the first argument has less columns than the column sorting vector (especially when this is already a positive integer).

  0 Comments

Sign in to comment.