MATLAB: Combine multiple vectors into specific locations of one matrix

matrix manipulation

Dear members
In short, as indicated by the title, I was trying to combine 20 vectors into one new matrix i.e., 10 each generated by condition_A and condition_B using a for loop. Specifically, assigning all condition_As to the second column, and all condition_Bs to the third column of a new matrix.
for n = 1: 10
% a
condition_a = [ repmat(23,1,6) repmat(99,1,6) ];
condition_A = condition_a(randperm(length(condition_a)));%Vector a here %this is to randomize the order of the numbers
% b
condition_b = [111 112 127 123 211 218 221 222 311 312 321 333 ];
condition_B = condition_b(randperm(length(condition_b)));% Vector b here
% other irrelevant stuff down below
end
I apologize if this is a naive question, thanks in advance.
Please let me know if more information is needed.

Best Answer

You can't leave the first column empty. Why not put zeros in?
a=[6 6 6 6 6 6 99 99 99 99 99 99]';
b=[111 112 127 123 211 218 221 222 311 312 321 333 ]';
L=length(a);
m=zeros(10*L,3);
for k=1:10
m(L*(k-1)+1:k*L,2)=a(randperm(L));
m(L*(k-1)+1:k*L,3)=b(randperm(L));
end