行列の形状変更をうまく表現できません
2 次查看(过去 30 天)
显示 更早的评论
例えば次のような行列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 个评论
采纳的回答
Kojiro Saito
2022-6-29
reshapeは列優先で計算されるので、transposeまたは「'」を使って行列Aを転置してからreshapeすれば実現できます。
A = [1:5;6:10;11:15]
B = reshape(A', 1,15)
2 个评论
Hernia Baby
2022-6-30
ちょっと冗長になりますが以下のようなやり方もあります。
A = [1:5;6:10;11:15];
A = A'
B = A(:)'
15の部分を [] に置き換えることをオススメします。
B = reshape(A,1,[])
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!