Nx(N-1)
のMatlabにはA
の行列があります。マトリクスの特定のインデックスを選択するためのMatlabコードのベクトル化
N=5;
A=[1 2 3 4;
5 6 7 8;
9 10 11 12;
13 14 15 16;
17 18 19 20];
特定の方法でA
の要素を並べ替える必要があります。具体的には私は次元の行列B
を作成する(N-1)xN
ように:i=1,...,N
ため
、
B(:,i)
は
1)i-1
A
のi-1
番目の列の要素と
2を収集)最後のN-i
i
列の要素はA
です。
i=1
の場合、A
のi-1
列は存在しないため、1)はスキップされます。同様に、i=N
の場合、A
のi
列が存在しないため、2)はスキップされます。
B=[5 1 2 3 4
9 10 6 7 8
13 14 15 11 12
17 18 19 20 16];
上記の例では
このコードは、私が欲しいものを行います。私は効率的な方法でそれをベクトル化するためにあなたの助けを求めています。
B=zeros(N-1,N);
for i=1:N
if i>1 && i<N
step1=A(1:i-1,i-1);
step2=A(i+1:N,i);
B(:,i)=[step1;step2];
elseif i==1
B(:,i)=A(i+1:N,i);
elseif i==N
B(:,i)=A(1:i-1,i-1);
end
end