Я ищу быстрый и гибкий способ вычислить следующее в Matlab без использования цикла:
c = 1:5;
A = reshape(1:5^3,5,5,5);
res= c(1)*A(:,:,1)+...+c(5)*A(:,:,5)
Я думаю, работая с
sum(A,3)
может быть хорошим способом, если я могу выполнить умножение по третьему измерению. Одним из решений (но с циклами) будет:
val = zeros(length(c),length(c))
for i = 1:length(c)
val = val+c(i)*A(:,:,i)
end
Мне просто интересно, можно ли это сделать более простым (и более элегантным) способом, избегая цикла.