how do I vectorize a loop with multi-dimensional arrays/ outer product
显示 更早的评论
Hi, would someone happen to know how I could vectorize the following loop?
L=4;
for t=1:N;
A(:,:,t)=exp(a*(t-1)).*B(:,:,L);
end
many thanks, Eli
采纳的回答
更多回答(1 个)
A = bsxfun(@times,exp(bsxfun(@times,a,0:(t-1)),B);
You need to make sure that a, 0:t-1 and B are all in the correct dimensions, and that "times", is the correct multiplication for your needs.
A = bsxfun(@times,exp(bsxfun(@times,a,reshape(0:(t-1),1, 1,[]),B);
类别
在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!