Sorting a mixed text-numeric matrix (cell array) by one of its (numeric) columns
조회 수: 1 (최근 30일)
이전 댓글 표시
I have an Excel spreadsheet whose rows I'd like to randomly shuffle and further use in Matlab. To that end, I'm reading the XLS into a cell array, generating random numbers into a column, then sorting by that column. This is proving to be problematic though, because of conflicting variable types. The code I used is:
[num, txt, M] = xlsread(fileName);
for row=2:row_N % generate random numbers in the D column
M(row,4) = num2cell(rand);
end
M = sortrows(M,4);
This leads to my matrix looking like this:
![01-05-2019 13.39.09.jpg](https://www.mathworks.com/matlabcentral/answers/uploaded_files/217456/01-05-2019%2013.39.09.jpeg)
Because the D column contains numbers while there's text in the other columns, the sorting cannot be done (it says "Cell elements must be character arrays.").
I tried various conversions between numeric and cell variables, and also tried using 'readtable' instead of 'xlsread' - but there is always a problem, such that I cannot get this conflict solved.
댓글 수: 0
채택된 답변
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!