创建一个显示二维数组索引的一维数组

时间:2014-11-17 12:36:33

标签: arrays matlab indexing dimensions cells

让我们说,我们在Matlab中有以下二维数组:

A=[0 451
   0 446
   0 543
   .....]

等。我想创建另一个一维数组,它将执行此操作: 例如,我们调用1-D数组BB(1)将“显示”到[0 451]。 B(2)将“显示”到[0 446],B(3)将“显示”到[0 543],依此类推。我希望任何可以给我一点点的人都能清楚地看到我想要的结果帮助

2 个答案:

答案 0 :(得分:1)

两种方式:

a=1:10
split_a1=(reshape(a,2,[])).';

split_a1访问split_a1(1,:),...,split_a1(5,:);

split_a2=mat2cell(a,1,2*ones(1,numel(a)/2));

split_a2访问split_a2{1},...,split_a2{5};

答案 1 :(得分:0)

嗯,你刚刚设置的是不可能的,你正在混合数组和Dimensions。 正如您所解释的那样,B是2-D,A是1-D。你可以这样做:

j=0; 
i=1;
while i<=size(A,2)/2;
    j=j+1;
    B(i,1)=A(j);
    j=j+1;
    B(i,2)=A(j);
    i=i+1;
end
相关问题