2014-11-09 1 views
0

Matlab에서 셀 열을 숫자 열로 정렬하고 싶습니다. 그러나 sortrows 함수가 작동하지 않습니다.이 오류가 발생합니다 : X의 일부 셀에 스칼라 값이없고 정렬 할 수 없습니다. 숫자 열을 문자열 유형으로 변환해야한다고 생각합니다.숫자의 열 (숫자)을 숫자에서 문자열로 변환합니다.

그럼 내 질문은 어떻게 입력란에 1 열만 셀을 변환 할 수 있습니까?

편집 : 셀의

첫 4 행 :

cell_1 = {' 1996Q1' 0.009 0.009 54594; 
      ' 1996Q2' 0.011 0.013 54594; 
      ' 1996Q3' 0.010 0.010 54594} 

[K,I]=sortrows(cell_1,4); 
+0

이미 시도한 셀 및 코드의 예제를 추가 할 수 있습니까? – Nemesis

+0

셀과 코드에 대한 예제를 추가했습니다 – user3864684

+0

다음에 어떤 열을 정렬하고 싶습니까? '4 번째 칼럼? 나는 그때 가정 한 값과 다른 값을 가지고 있다고 가정합니다. – Nemesis

답변

0

당신이 사용하고 숫자 맥락에서이 문제를 정렬 할 경우에만 열을 grep을 할 수 있습니다. 아래 예제를 참조하십시오 (효과를 보려면 네 번째 열의 값을 변경했습니다).

cell_1 = {' 1996Q1' 0.009 0.009 54594; 
      ' 1996Q2' 0.011 0.013 54592; 
      ' 1996Q3' 0.010 0.010 54593}; 

[~,ind] = sort([cell_1{:,4}]) 

ind = 

    2  3  1 

cell_2 = cell_1(ind,:) 

cell_2 = 

    ' 1996Q2' [1.1000e-002] [1.3000e-002] [54592] 
    ' 1996Q3' [1.0000e-002] [1.0000e-002] [54593] 
    ' 1996Q1' [9.0000e-003] [9.0000e-003] [54594] 
+0

또는'cell2mat (cell_1 (:, 4))'를 사용하여 네 번째 열을 벡터로 가져옵니다. – Amro