Arrays 在单元格数组中放置相等的元素

Arrays 在单元格数组中放置相等的元素,arrays,matlab,sorting,cell-array,Arrays,Matlab,Sorting,Cell Array,我有一个数组。我对它进行了排序,所以我对数组和初始数组中已排序元素的索引进行了排序 例如,从[4544454]我得到了[44445]和[143456827] 如何在单元格数组中放置接收的索引,以便在一个单元格中有相等元素的索引?例如,它将是:{1 3 4 5 6 8},{2 7} 我正在寻找非循环方法来解决它。使用: 或者,如果需要对每组索引进行排序: result = accumarray(jj(:), 1:numel(x), [], @(v) {sort(v(:)).'}); 有个问题-a

我有一个数组。我对它进行了排序,所以我对数组和初始数组中已排序元素的索引进行了排序

例如,从
[4544454]
我得到了
[44445]
[143456827]

如何在单元格数组中放置接收的索引,以便在一个单元格中有相等元素的索引?例如,它将是:
{1 3 4 5 6 8}
{2 7}

我正在寻找非循环方法来解决它。

使用:

或者,如果需要对每组索引进行排序:

result = accumarray(jj(:), 1:numel(x), [], @(v) {sort(v(:)).'});

有个问题-accumarray中没有循环吗?@Divakar问得好。我不知道。如果是这样,我也不会感到惊讶(与
arrayfun
etc是伪装的循环的意义相同)。但它非常有用,我不介意:-)我认为它有循环,但这些函数是隐藏循环的好“包装器”。另外,在这种特殊情况下,我认为矢量化是不可能的。我认为,与光线一起工作会带来这些限制+1.BTW@Divakar谢谢是的,细胞阵列不适合矢量化
result = accumarray(jj(:), 1:numel(x), [], @(v) {sort(v(:)).'});