Я довольно новичок в MATLAB. Нормальное матричное умножение матрицы M x K на матрицу K x N - C = A * B
- имеет c_ij = sum(a_ik * b_kj, k = 1:K)
. Что, если я хочу, чтобы это было вместо c_ij = sum(op(a_ik, b_kj), k = 1:K)
для некоторой простой двоичной операции op
? Есть ли хороший способ векторизовать это в MATLAB (или, может быть, даже встроенную функцию)?
РЕДАКТИРОВАТЬ: В настоящее время это лучшее, что я могу сделать.
% A is M x K, B is K x N
% op is min
C = zeros(M, N);
for i = 1:M:
C(i, :) = sum(bsxfun(@min, A(i, :)', B));
end