Arrays 将数组写入单元

Arrays 将数组写入单元,arrays,matlab,indexing,cell-array,Arrays,Matlab,Indexing,Cell Array,我已经使用Matlab有一段时间了,但这一个已经让我明白了——我想要一个一行程序,它将接受一个数组并将其写入单元格的索引项中,例如 >> c = cell(1,6); >> b = [1 2 3]; >> c{[2 4 6]} = b; %This doesn't actually work >> disp(c) [] [1] [] [2] [] [3] 我用num2cell,deal等工具尝试了各种版本,但我找不到灵丹妙药。可

我已经使用Matlab有一段时间了,但这一个已经让我明白了——我想要一个一行程序,它将接受一个数组并将其写入单元格的索引项中,例如

>> c = cell(1,6);
>> b = [1 2 3];
>> c{[2 4 6]} = b; %This doesn't actually work
>> disp(c)

   []  [1]  []  [2]  []  [3]

我用
num2cell
deal
等工具尝试了各种版本,但我找不到灵丹妙药。可以在一次作业中完成吗?

使用
mat2cell
-

c([2 4 6]) = mat2cell(b,1,ones(1,numel(b))); 
c([2 4 6]) = num2cell(b);
使用
num2cell
-

c([2 4 6]) = mat2cell(b,1,ones(1,numel(b))); 
c([2 4 6]) = num2cell(b);
输出-

>> disp(c)
    []    [1]    []    [2]    []    [3]

@马特菲利普斯:是的!那里没有:)