У меня есть матрица NxNx4 (A
) и матрица 4x4 (B
).Мне нужно умножить вектор a
, состоящий из четырех элементов первой матрицы A
, скажем,
a = A(1,1,1)
A(1,1,2)
A(1,1,3)
A(1,1,4)
на матрицу 4x4 B
, но я не уверен, что существуетболее быстрое и умное решение, чем использование цикла for
для построения вектора a
.Существует ли способ сделать это вычисление с помощью нескольких строк кода?
Я построил A
как
A(:,:,1) = rand(20);
A(:,:,2) = rand(20);
A(:,:,3) = rand(20);
A(:,:,4) = rand(20);
и матрицу B
B = rand(4);
Теперь я хочу умножить B
на
B*[A(1,1,1);A(1,1,2);A(1,1,3);A(1,1,4)]
Это, для каждого элемента A
B*[A(1,2,1);A(1,2,2);A(1,2,3);A(1,2,4)]
B*[A(1,3,1);A(1,3,2);A(1,3,3);A(1,3,4)]
...