For problems like these you should learn to run the code line-by-line at the command-line prompt. Then check the size and type of the resulting variables, using size(X) and whos X for example. Also check which combinations of transposes makes your multiplications work and what shapes of the matrices are.
HTH
