假设我有一个单元数组
A = {0, 1 ,2, 3, ...}
和索引向量
I = [0, 1, 0, 1, 0, ...]
以及数值
V = [2, 3]
我希望你能够提供类似以下内容的东西:
A{I} = [A{I}; V]' = {0, [1 2], 2, [3 3], ....};
也就是说,我希望一次性向一个单元数组的多个单元格附加多个值。如何最优雅地/高效地实现? :)
假设我有一个单元数组
A = {0, 1 ,2, 3, ...}
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 );
()
而不是{}
)来索引选定的单元格元素,使用I==1
。还要注意,V
被传递为一个单元数组(使用num2cell
),而不是一个普通数组。