假设我有一个单元格数组x
和一个整数数组y
:
x = {'apple', 'orange', 'banana', 'pear'};
y = [2 4 3 1];
事实上,y
代表x
的索引。我现在想创建一个单元格数组z
,其元素为x
,按照这些索引的顺序重新排序。这会给我:
z = {'orange', 'pear', 'banana', 'apple'};
我是否可以在一行中执行此操作而无需遍历每个元素并依次将其放在z
中?
答案 0 :(得分:4)
z = x(y);
因为StackOverflow需要至少30个字符的答案,所以这个句子是作为填充程序创建的。
这意味着:按照索引的顺序,在z
中放入由x
索引选择的元素frrm y
的单元格数组。 (这是MATLAB 下标的基础知识;其他索引方法是线性和逻辑,有关详细信息,请参阅Mathworks网站)。