行列の形状変更をうまく表現できません
2 views (last 30 days)
Show older comments
例えば次のような行列Aがあるとします.
A =
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
このとき,形状変更をして以下のような行列Bとしたいです.
B =
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
”配列の形状変更”を参考にreshapeを試しましたが以下のようになりました.
>> B = reshape (A,[1,3*5])
B =
1 6 11 2 7 12 3 8 13 4 9 14 5 10 15
0 Comments
Accepted Answer
Kojiro Saito
on 29 Jun 2022
reshapeは列優先で計算されるので、transposeまたは「'」を使って行列Aを転置してからreshapeすれば実現できます。
A = [1:5;6:10;11:15]
B = reshape(A', 1,15)
2 Comments
Hernia Baby
on 30 Jun 2022
ちょっと冗長になりますが以下のようなやり方もあります。
A = [1:5;6:10;11:15];
A = A'
B = A(:)'
15の部分を [] に置き換えることをオススメします。
B = reshape(A,1,[])
More Answers (0)
See Also
Categories
Find more on Resizing and Reshaping Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!