2013-11-23 2 views
0

1에서 5까지의 숫자로 채워진 배열이 있습니다. 각 숫자는 특정 클래스를 나타냅니다. 이 배열을 클래스를 나타내는 문자열 배열로 변환하는 다른 배열을 채우는 가장 좋은 방법은 무엇입니까? 예를 들어matlab에 숫자 배열을 기반으로 범례 만들기

:

Numbers=[1; 2; 3; 3; 2; 1] 

답변해야한다 :

Strings=['Apple'; 'Orange'; 'Banana', 'Banana', 'Orange'; 'Apple'] 

내가 루프와 함께이 일 것을 이해하는 것은 사소한 일이다. 하지만 거기에 matlab에 루프를 사용하지 않는 더 우아한 솔루션이 존재합니까?

답변

2

당신은 당신 숫자 인덱스 라벨의 휴대 배열을 : 결과가 셀 어레이 (안 매트릭스) 할 필요가

Numbers = [1; 2; 3; 3; 2; 1] 
Labels = {'Apple';'Orange';'Banana'}; 

Strings = Labels(Numbers); 

하는 것으로, 문자열이 서로 다른 길이를 가지고 있기 때문이다. 당신의 예에서

,이 제공 :

>> Strings 

Strings = 

    'Apple' 
    'Orange' 
    'Banana' 
    'Banana' 
    'Orange' 
    'Apple' 
관련 문제