how can i get a horzenital vector?

1 次查看(过去 30 天)
X = [2 1 5 1
5 4 8 1
1 4 5 7];
if i use X1 = X(:);
the output is X1=[2
5
1
1
4
4
5
8
5
1
1
7]
but i wante the out put is X1 =[2 1 5 1 5 4 8 1 1 4 5 7];
thank you very much

采纳的回答

Andrei Bobrov
Andrei Bobrov 2011-9-14
X1 = reshape(X',1,[])
  2 个评论
Andrei Bobrov
Andrei Bobrov 2011-9-14
My typo! Corrected...
Thanks Fangjun!
Jan
Jan 2011-9-14
@Fangjun: Without the transpose, you get X1 = [2,5,1,...], but Amal wants [2,1,5,...] - the data in row order.

请先登录,再进行评论。

更多回答(2 个)

Fangjun Jiang
Fangjun Jiang 2011-9-14
X1=X';
X1=X1(:);

Daniel Shub
Daniel Shub 2011-9-14
If there is any chance that you matrix will have complex numbers you need to be careful with the difference between ' (ctranspose) and .' (transpose). To be clear I might go with:
X1 = transpose(X(:));
I do not know if there is a performance difference between ctranspose and transpose for real matrices.
  1 个评论
Sean de Wolski
Sean de Wolski 2011-9-14
There is not. Though there was a bug with ctranspose in the original release of R2009b.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by