想象一下,我有一个单元阵列
A = {0, 1 ,2, 3, ...}
和indice矢量
I = [0, 1, 0, 1, 0, ...]
和价值观
V = [2, 3]
我想要类似的东西
A{I} = [A{I}; V]' = {0, [1 2], 2, [3 3], ....};
也就是说,我想一次向单元格数组的某些单元格附加几个值.我怎样才能最优雅/最有效率地做到这一点? 🙂
最佳答案 你可以使用cellfun
A(I==1) = cellfun( @(x,y) [x y], A(I==1), num2cell(V), 'UniformOutput', 0 );
注意使用常规下标(using()而不是{})来使用I == 1索引所选单元格元素.另请注意,V作为单元格数组(使用num2cell)传递,而不是作为常规数组传递.