让我们说,我们在Matlab中有以下二维数组:
A=[0 451
0 446
0 543
.....]
等。我想创建另一个一维数组,它将执行此操作:
例如,我们调用1-D数组B
,B(1)
将“显示”到[0 451]
。 B(2)将“显示”到[0 446]
,B(3)将“显示”到[0 543]
,依此类推。我希望任何可以给我一点点的人都能清楚地看到我想要的结果帮助
答案 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