MATLAB: ¿Cómo multiplicar por vectores dos matrices de matrices?

Tengo dos matrices tridimensionales, cuyas dos primeras dimensiones representan matrices y la última cuenta a través de un espacio de parámetros, como ejemplo simple tome

A = repmat([1,2; 3,4], [1 1 4]);

(pero supongaA(:,:,j) es diferente para cadaj). ¿Cómo se puede realizar fácilmente una per-j multiplicación matricial de dos matrices de este tipoA yB?

C = A; % pre-allocate, nan(size(A,1), size(B,2)) would be better but slower
for jj = 1:size(A, 3)
  C(:,:,jj) = A(:,:,jj) * B(:,:,jj);
end

Ciertamente hace el trabajo, pero si la tercera dimensión es más como elementos 1e3, esto es muy lento ya que no utiliza la vectorización de MATLAB. Entonces, ¿hay una manera más rápida?

Respuestas a la pregunta(5)

Su respuesta a la pregunta