Matlab 中的矩阵到向量转换
我有一个 MxN 矩阵,想转换为向量 MNx1,其中矩阵中行的所有元素作为向量的元素。
我尝试使用 reshape
但没有成功。
这是小代码片段和预期结果。
S=[0 1
1 0
1 1
1 1 ]
预期结果:
S_prime= [ 0 1 1 0 1 1 1 1]
PS:使用循环和串联不是一种选择,我确信有一种简单直接的技术,但我不知道。
谢谢
I have a MxN Matrix and would like to convert into a vector MNx1 with all the elements of the row from the Matrix as the elements of the Vector.
I tried using reshape
but I was not successful.
Here is the small code snippet and the expected result.
S=[0 1
1 0
1 1
1 1 ]
Expected Result:
S_prime= [ 0 1 1 0 1 1 1 1]
P.S: Using a loop and concatenation is not an option, I am sure there is a easy straight forward technique, which I am not aware.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以尝试转置 S 并使用 (:)
或作为行向量:
You could try transposing S and using (:)
or for a row vector:
Reshape 按列获取元素,因此在重塑之前转置 S。
Reshape takes the elements column wise so transpose S before reshaping.
或捷径
但是这个问题让我想知道你原来的问题是什么,以及这种方式是否真的是原始问题的正确解决方案的一部分。
or shortcut
But the question makes me wonder what your original problem is, and if this way really is part of the correct solution to the original problem.
Octave 有一个非常好的函数:vec()。
该文档位于 http://www.mathcs.emory。 edu/~nagy/courses/fall10/515/KroneckerIntro.pdf 指出以下内容。
Octave has a very nice function: vec().
The document at http://www.mathcs.emory.edu/~nagy/courses/fall10/515/KroneckerIntro.pdf states the following.