Есть ли аналог Matlab `bsxfun` для умножения / деления матриц? - PullRequest
1 голос
/ 31 октября 2011

Мне нужно умножить список векторов на список матриц. В настоящее время я делаю это с помощью цикла for:

for k=1:N
    x(:,k)= A(:,:,k) \ b(:,k);
end

Можно ли написать это без цикла for?

1 Ответ

1 голос
/ 31 октября 2011

Если вы действительно ищете решение (которое может быть медленнее; вам нужно профилировать), я бы сохранял свои матрицы в массиве ячеек (например, A(:,:,k) = A{k}). Тогда:

x = reshape(  blkdiag(A{:})\b(:)   ,   numel(b)/N,   N  ); 
...