title: MATLAB: Block matrix multiplying without loops
body: <p>I have a block matrix <code>[A B C...]</code> and a matrix <em>D</em> (all 2-dimensional). <em>D</em> has dimensions y-by-y, and <em>A, B, C</em>, etc are each z-by-y. Basically, what I want to compute is the matrix <code>[D*(A'); D*(B'); D*(C');...]</code>, where <em>X</em>' refers to the transpose of <em>X</em>. However, I want to accomplish this without loops for speed considerations. </p>
  
  <p>I have been playing with the reshape command for several hours now, and I know how to use it in other cases, but this use case is different from the other ones and I cannot figure it out. I also would like to avoid using multi-dimensional matrices if at all possible.</p>