title: How to concatenate matrices of unequal dimensions in 3rd dimension in MATLAB?
body: <p>Like the title says, I have several matrices that I would like to stack in the 3rd dimension. I currently have a solution for stacking unequal vectors horizontally, which reads like so:</p>
  
  <pre><code>A = [1;2;3;4];
  B = [1;2];
  [i1,j1] = ndgrid(1:size(A,1),1:size(A,2));
  [i2,j2] = ndgrid(1:size(B,1),(1:size(B,2))+size(A,2));
  plane_stats = accumarray([i1(:),j1(:);i2(:),j2(:)],[A(:);B(:)]);
  </code></pre>
  
  <p>for any two vectors A and B of unequal size (caveat: I have only tested this for column vectors, stacked horizontally). Wherever there would be a gap, this adds zeros as padding, so the result looks as follows:</p>
  
  <pre><code>1 1
  2 2
  3 0
  4 0
  </code></pre>
  
  <p>However, I would like to generalize this to 3D so I can stack a third (also unequal) matrix C behind the combination of A and B, like so:</p>
  
  <pre><code>C = [1 2;3 4;5 6]
  %some modification of existing ndgrid code
  combo(:,:,1) =
  1 1
  2 2
  3 0
  4 0
  
  combo(:,:,2) =
  1 2
  3 4
  5 6
  0 0
  </code></pre>
  
  <p>However I am not sure how to extend the solution I currently have. Any and all help/insight is appreciated</p>