我有相同数量的单元格的<3> 单元格数组但是我想只减少一个具有多个维度的单元格数组,以便它们可以访问像列的列一样列。我在 Matlab的环境中工作,但我尝试这样做,但不幸的是,我发现没有像矩阵那样访问列的单元格。处理此类案件的任何建议?
我的代码:
P = cell(1,10);
Pd = cell(1,10);
Pdd = cell(1,10);
for ii=1:10
P{ii}= [repmat([0 0 0],2,1)];
Pd{ii} = [repmat([1 1 1],2,1)];
Pdd{ii} = [repmat([2 2 2],2,1)];
end
答案 0 :(得分:0)
垂直连接三个单元格数组:
Pall = [P; Pd; Pdd]
这会产生一个3x10的单元阵列Pall
,使得Pall(1,:)
为P
等。
如果您想避免从一开始就创建多个单元格数组:执行类似的操作:
for ii=1:10
Pall{1,ii}= [repmat([0 0 0],2,1)];
Pall{2,ii} = [repmat([1 1 1],2,1)];
Pall{3,ii} = [repmat([2 2 2],2,1)];
end
要避免循环,请使用示例中的值:
Pall = mat2cell(repmat([repmat([0 0 0],2,1); repmat([1 1 1],2,1); repmat([2 2 2],2,1)],1,10),[2 2 2],3*ones(1,10))