我有一个单元格数组和一个向量,我想将向量的每个坐标分配到同一位置的不同单元格。 例如,矢量中的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
提前致谢!
答案 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);