2013-11-23 49 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' 
相關問題