# conversion of matrix into vector

3 views (last 30 days)
krak on 26 Apr 2013
I made an algorithm of conversion of a matrix for a vector of column but it just works for the matrix 3*4. I want that it work on is important dimension(size). All the dimensions(size)! How I make? the code :
x=[1 2 3 0;4 5 6 0;7 8 9 0];
y=x(:,1);
m=2;
while m<5
y=[y;x(:,m)];
m=m+1;
end

Wayne King on 26 Apr 2013
Edited: Wayne King on 26 Apr 2013
Is this important that you write yourself? Because there is a reshape() function
x = randn(10,10);
y = reshape(x,100,1);
If it is important, then just starting from what you have, how about
x = randn(10,10);
y=x(:,1);
m=2;
while m<= size(x,2)
y=[y;x(:,m)];
m=m+1;
end
krak on 26 Apr 2013
Edited: krak on 26 Apr 2013
Thank you for your answer! I have an image (any image) and I want to convert her in a vector of columns! It is the only algorithm which I found! I would like of your help :)

sammar on 26 Apr 2013
hey krak try this way if that what you want
x=[1 2 3 0;4 5 6 0;7 8 9 0]; >> B = reshape(x.',1,[]);
krak on 26 Apr 2013
hey sammar , Yes the function reshape, but how I have to use him under matlab? Thank you for your answer:)

Jim on 26 Apr 2013
Just x(:)