2013-11-23 51 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' 
相关问题