how can i get a horzenital vector?

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

 Accepted Answer

X1 = reshape(X',1,[])

2 Comments

My typo! Corrected...
Thanks Fangjun!
@Fangjun: Without the transpose, you get X1 = [2,5,1,...], but Amal wants [2,1,5,...] - the data in row order.

Sign in to comment.

More Answers (2)

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 Comment

There is not. Though there was a bug with ctranspose in the original release of R2009b.

Sign in to comment.

Categories

Tags

Community Treasure Hunt

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

Start Hunting!