3. 셀형 배열 원소 순서 정렬하기 (1 다음 2가 아니라 10이 나오는 문제 수정)
지난시간까지 코딩한 내용은 아래와 같습니다.
#파일 목록 불러오기
path='C:\Users\Public\Sample'
list=dir(path);
name={list.name}
name2 = name(3:end);
우리가 저장한 폴더제목 목록은 아래와 같습니다.
>> name2
name2 =
{
[1,1] = 1.Apple
[1,2] = 10.Johnson&Johnson
[1,3] = 2.Microsoft
[1,4] = 3.Amazon
[1,5] = 4.Alphabet
[1,6] = 5.Berkshire_Hathaway
[1,7] = 6.Facebook
[1,8] = 7.Alibaba
[1,9] = 8.Tencent_Holdings
[1,10] = 9.JPMorgan_Chase
}
1다음에 10이 나오는데요. 번호 순서대로 정렬해보겠습니다.
#숫자만 저장
for i=1:size(name2)(2)
num(i,1) = textscan(name2{i}, '%f');
end
#숫자가 저장된 셀을 행렬로 변환
nummat=cell2mat(num);
#크기 순서 저장
[B,I]=sort(nummat);
#크기 순서로 재배열
for i=1:size(name2)(2)
name3{1,i}=name2{1,I(i)};
end
아래는 결과입니다.
>> name3
name3 =
{
[1,1] = 1.Apple
[1,2] = 2.Microsoft
[1,3] = 3.Amazon
[1,4] = 4.Alphabet
[1,5] = 5.Berkshire_Hathaway
[1,6] = 6.Facebook
[1,7] = 7.Alibaba
[1,8] = 8.Tencent_Holdings
[1,9] = 9.JPMorgan_Chase
[1,10] = 10.Johnson&Johnson
'MATLAB 코딩 > 파일&폴더 다루기' 카테고리의 다른 글
[Matlab으로 파일&폴더 다루기] 2. 폴더 안에 들어 있는 폴더와 파일의 목록 가져오기 (0) | 2020.01.14 |
---|---|
[Matlab으로 파일&폴더 다루기] 1. 예제 파일&폴더 만들기 (1) | 2020.01.13 |
댓글