通过索引数组重新排序单元阵列

时间:2014-06-26 15:58:55

标签: matlab cell-array matrix-indexing

假设我有一个单元格数组x和一个整数数组y

x = {'apple', 'orange', 'banana', 'pear'};
y = [2 4 3 1];

事实上,y代表x的索引。我现在想创建一个单元格数组z,其元素为x,按照这些索引的顺序重新排序。这会给我:

z = {'orange', 'pear', 'banana', 'apple'};

我是否可以在一行中执行此操作而无需遍历每个元素并依次将其放在z中?

1 个答案:

答案 0 :(得分:4)

z = x(y);

因为StackOverflow需要至少30个字符的答案,所以这个句子是作为填充程序创建的。

这意味着:按照索引的顺序,在z中放入由x索引选择的元素frrm y的单元格数组。 (这是MATLAB 下标的基础知识;其他索引方法是线性逻辑,有关详细信息,请参阅Mathworks网站)。