Sorting cell arrays with characters and numbers

조회 수: 9 (최근 30일)
Araya Mengistu
Araya Mengistu 2022년 10월 30일
댓글: Thomas Jarry 2022년 11월 5일
Given a cell array such as {'a1', 'a2', 'a3'...'a9', 'a10', 'a11','a12'}, in random order ofcourse, using the sort function gives me {'a1', 'a10', 'a11','a12','a1','a2',...'a9'}. What method can be used to get the right order?

채택된 답변

Stephen23
Stephen23 2022년 10월 30일
편집: Stephen23 2022년 10월 30일
"What method can be used to get the right order?"
You could download my FEX submission NATSORT:
unzip it onto your MATLAB search path or into the current directory, then call it like this:
C = {'a11', 'a9', 'a3', 'a2', 'a12', 'a1','a10'}
C = 1×7 cell array
{'a11'} {'a9'} {'a3'} {'a2'} {'a12'} {'a1'} {'a10'}
D = natsort(C)
D = 1×7 cell array
{'a1'} {'a2'} {'a3'} {'a9'} {'a10'} {'a11'} {'a12'}
  댓글 수: 2
Araya Mengistu
Araya Mengistu 2022년 10월 31일
Worked great. Appreciated.
Thomas Jarry
Thomas Jarry 2022년 11월 5일
23 thanks Stephen ! :-)

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Walter Roberson
Walter Roberson 2022년 10월 30일
편집: Walter Roberson 2022년 10월 30일
MATLAB already gives the "right" order, just not the order you want.
https://www.mathworks.com/matlabcentral/fileexchange/34464-customizable-natural-order-sort

카테고리

Help CenterFile Exchange에서 Shifting and Sorting Matrices에 대해 자세히 알아보기

태그

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by