MATLAB: How to create different column as a different vector from a matrix

Hi, I am a new user of matlab. I am having a huge matrix (m,n)and I want to convert n different column vectors. How to do that? for example I am trying to do in following way
a=[1 2 3;4 5 6;7 8 9;10 11 12];
for i = 1 : size(a, 2)
qj = a(:,i)
end
but it is only storing last column . But I want to store like q1= 1 2 3 q2= 4 5 6
and so on please help me this regard. Thanks in advance.
Abhi

Best Answer

Don't use q1, q2, q3. Use the following. You can reference it using q{1},q{2},q{3}. Even further, q{1}(2), q{3}(4).
a=[1 2 3;4 5 6;7 8 9;10 11 12];
q=cell(size(a,2),1);
for i = 1 : size(a, 2)
q{i} = a(:,i);
end