想象一下我有一个单元格数组

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/

10-12 07:36