我有一个元胞数组和一个向量,我想将向量的每个坐标分配给同一位置的不同元胞。 例如,向量中的 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
提前致谢!
最佳答案
根据 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);
关于matlab - 将值分配给向量中的几个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11244193/