我有一个矩阵如下:
A= 1 2
3 4
5 6
7 8
我想以这样的方式排列这个矩阵的元素,它会给我以下输出:
B= 1
2
3
4
5
6
7
8
任何建议都会有所帮助。谢谢!
答案 0 :(得分:7)
进行A
的转置并将其展开到矢量中:
B = A.';
B = B(:);
或者,您可以使用reshape
:
B = reshape(A.', [], 1);
首先转置矩阵A
的原因是因为MATLAB以 column-major 格式展开,这意味着首先遍历列。您试图按行进行此操作,因此您需要转置输入以达到相同的效果。
这里是输出的样子(使用两者):
>> A= [1 2
3 4
5 6
7 8];
>> B = A.';
>> B = B(:);
>> B
B =
1
2
3
4
5
6
7
8
此外:
>> A= [1 2
3 4
5 6
7 8];
>> B = reshape(A.', [], 1)
B =
1
2
3
4
5
6
7
8