質問があります。行列 A = があるとします。
1 2 3
4 5 6
7 8 9
10 11 12
A から n ローリング行を選択し、新しい行列 C の要素を行に転置する必要があります。私が使用するループは次のとおりです。
n = 3; %for instance every 3 rows of A
B = [];
for i = 1:n
Btemp = transpose(A(i:i+size(A,1)-n,:));
B = [B;Btemp];
end
C=B';
そして、次の行列 C が生成されます。
C =
1 2 3 4 5 6 7 8 9
4 5 6 7 8 9 10 11 12
これは私もやりたいことですが、ループなしで同じ仕事をすることはできますか?
3280x35 サイズの A 行列の計算には 4 分かかります。