将值分配给矢量中的几个单元格

时间:2012-06-28 12:02:12

标签: matlab

我有一个单元格数组和一个向量,我想将向量的每个坐标分配到同一位置的不同单元格。 例如,矢量中的j坐标变为(j,1)单元中的(k,l)坐标。在伪matlab中它看起来像这样:

了myCell {:,1}(K,L)= myVector;

有没有一种好的方法可以做到这一点而不需要循环? (表现是一个问题。)

一个小例子:

    myCell=cell(2,4);
    myV=[1;2];
    %what I wish to change:
    for j=1:size(myV,1)
        myCell{j,1}(1,1)=myV(j)
    end

提前致谢!

1 个答案:

答案 0 :(得分:3)

根据myVector中的数据类型,您最终将使用以下两个命令之一。

mat2cell或num2cell

Matlab中的帮助页面详细介绍了调用函数的不同方法,以防万一你想对数据进行一些奇特的分组等。

mat2cell:http://www.mathworks.com/help/techdoc/ref/mat2cell.html

num2cell:http://www.mathworks.com/help/techdoc/ref/num2cell.html

示例代码:

myCell=cell(2,4);
myV=[1;2];
% %what I wish to change:
% for j=1:size(myV,1)
%     myCell{j,1}(1,1)=myV(j)
% end
myCell(:,1) = num2cell(myV);