ある行列の各行と行の間に異なる行列の各行を割り込ませたい
1 次查看(过去 30 天)
显示 更早的评论
ある行列Aに対して,Aの各行と行の間にB行列の行の値を割り込ませるにはどのようにコーディングすれば簡潔に行えますでしょうか?
例えば
A = zeros(10,1)
B = ones(10,1)
といった行列があった際に,
結果的に
[0;1;0;1;0;1.....0;1]
といった行列にしたいです.
0 个评论
采纳的回答
Atsushi Ueno
2024-12-4
reshape 関数が便利です。MATLABは列優先なので、2つの列ベクトルを束ねて転置して輪切りにする様に並べています。
A = zeros(10,1); A' % 列ベクトルを転置して短く表示
B = ones(10,1); B'
C = reshape([A,B]',[],1); C'
2 个评论
Akira Agata
2024-12-5
编辑:Akira Agata
2024-12-5
+1
A, Bが行列の場合は以下のようにすれば可能です。
% 一例として10行4列の行列とします。
A = zeros(10, 4);
B = ones(10, 4);
% 20行4列の行列を作成して、奇数行と偶数行にAとBの値を代入
C = nan(20, 4);
C(1:2:end, :) = A;
C(2:2:end, :) = B;
% 結果を表示
C
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!