ある行列の各行と行の間に異なる行列の各行を割り込ませたい
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!