有一个数组从1到5填充数字。每个数字表示一个特定的类。 填充另一个数组的最佳方法是将其转换为表示类的字符串数组。
例如:
Numbers=[1; 2; 3; 3; 2; 1]
答案应该是:
Strings=['Apple'; 'Orange'; 'Banana', 'Banana', 'Orange'; 'Apple']
我知道用循环来做这件事是件微不足道的事情。但是,是否存在一种更优雅的解决方案,它不在matlab中使用循环?
答案 0 :(得分:2)
您只需使用您的数字索引标签的单元格数组:
Numbers = [1; 2; 3; 3; 2; 1]
Labels = {'Apple';'Orange';'Banana'};
Strings = Labels(Numbers);
请注意,结果必须是单元格数组(不是矩阵),因为字符串的长度不同。
在您的示例中,这给出了:
>> Strings
Strings =
'Apple'
'Orange'
'Banana'
'Banana'
'Orange'
'Apple'