如何将矩阵的行连接成向量?

发布于 2024-08-31 04:36:34 字数 42 浏览 4 评论 0原文

对于 m×m(方形)数组,如何将所有行连接成大小为 m^2 的列向量?

For an m-by-m (square) array, how do you concatenate all the rows into a column vector with size m^2 ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夜未央樱花落 2024-09-07 04:36:34

有几种不同的方法可以将矩阵折叠成向量,具体取决于您希望矩阵的内容如何填充该向量。以下是两个示例,其中一个使用函数 reshape< /code>(第一次转置矩阵之后)一个使用 冒号语法 ( :)

>> M = [1 2 3; 4 5 6; 7 8 9];    % Sample matrix
>> vector = reshape(M.', [], 1)  % Collect the row contents into a column vector

vector =

     1
     2
     3
     4
     5
     6
     7
     8
     9

>> vector = M(:)  % Collect the column contents into a column vector

vector =

     1
     4
     7
     2
     5
     8
     3
     6
     9

There are a couple of different ways you can collapse your matrix into a vector, depending upon how you want the contents of your matrix to fill that vector. Here are two examples, one using the function reshape (after first transposing the matrix) and one using the colon syntax (:):

>> M = [1 2 3; 4 5 6; 7 8 9];    % Sample matrix
>> vector = reshape(M.', [], 1)  % Collect the row contents into a column vector

vector =

     1
     2
     3
     4
     5
     6
     7
     8
     9

>> vector = M(:)  % Collect the column contents into a column vector

vector =

     1
     4
     7
     2
     5
     8
     3
     6
     9
不知所踪 2024-09-07 04:36:34

将矩阵更改为向量的一个非常重要的注意事项是,MATLAB 会根据矩阵的列生成输出向量,

例如,如果使用 A(:)

A = [1 2 3 ; 4 5 6]

B = A (:)

B = [1 4 2 5 3 6]

您可以看到更改的方向在下图中。

A very important note in changing a matrix to a vector is that , MATLAB produce the output vector form the columns of the matrix, if you use A(:)

for example :

A = [1 2 3 ; 4 5 6]

B = A (:)

B = [1 4 2 5 3 6]

You can see the direction of changing in the following image.
Direction of changing

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文