想象一下我有一个单元格数组
A = {0, 1 ,2, 3, ...}
和指数向量
I = [0, 1, 0, 1, 0, ...]
和值(value)观
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 );
请注意使用常规下标(使用
()
,而不是 {}
)来使用 I==1
索引所选单元格元素。另请注意, V
作为元胞数组(使用 num2cell
)而不是常规数组传递。关于matlab - 将值附加到元胞数组中的多个元胞,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24860250/