как имена переменных в Matlab
я есть два трехмерных массива, первые два измерения которых представляют собой матрицы, а последний - в пространстве параметров, в качестве простого примера.
A = repmat([1,2; 3,4], [1 1 4]);
(но предположим,A(:,:,j)
отличается для каждогоj
). Как можно легко выполнить пер-j
умножение матриц двух таких матриц-массивовA
а такжеB
?
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
конечно, делает работу, но если третье измерение больше похоже на элементы 1e3, это очень медленно, так как он не использует векторизацию MATLAB. Так есть ли более быстрый способ?