MATLAB: Sort one Vector according to other Vector in octave

sort one vector according to other vector in octave

Hi
Year_Month = [200705, 200708, 200710, 200707, 200712, 200711, 200706, 200709]
Year_Month_Name = ['May07';'Aug07';'Oct07';'July07';'Dec07';'Nov07';'June07';'Sept07']
How can I sort Year_Month_Name Vector as per Year_Month Vector. I tried this code but its not working. I am using octave version 4.2.2
[Year_Month,sortIdx] = sort(Year_Month,'ascend');
Year_Month_Name = Year_Month_Name(sortIdx);
Thank You
ajk

Best Answer

If you use a character array and want to sort its rows, then you need to use the indexing on its rows:
Year_Month_Name = Year_Month_Name(sortIdx,:)
^^^^^^^ sort the *rows* of the matrix!
Basic subscript indexing is explained in the introductory tutorials:
As an alternative you could use a cell array and linear indexing.