Clear Filters
Clear Filters

Reshaping a square matrix to a vector

6 views (last 30 days)
Hi, I need to convert a 10 by 10 matrix into a 100 by 1 matrix by concatenating each column to the bottom of the preceding one. For example:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
into [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16]'
I've tried using reshape but I'm not getting what I want... moreover, I'm trying to use a for loop but can't seem to get it right.
Any help is much appreciated.
Thanks!
-E

Accepted Answer

James Tursa
James Tursa on 23 Mar 2012
This matches your words:
A = rand(10,10);
B = A(:); % one way
B = reshape(A,100,1); % another way
This matches your example:
B = reshape(A.',100,1);

More Answers (1)

Esteban
Esteban on 26 Mar 2012
Woops, my fault... yes I meant:
[1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16]'
I tried it and it works.
Thanks for your help!
-E

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!