matlab - vectorization for array products -
how can vectorize loop ?
let b = real array of size (2,3)
m = real array of size (7,2)
y = real array of size (n,3)
b , m constant , n "big" (in problem, n > 80000).
i want optimize (vectorize) loop :
for k=1:max(size(y)) r=b*y(k,:)'; p(k)=r'*m; end help appreciated
first p(k)=r'*m wrong
(b*y(k,:)' (2x1) , m (7x2))
so think mean p(k)=r'*m';
then
b (2x3)
y (nx3)
r= b*y' (2xn)
r' (nx2)
m' (2x7)
p=r'*m' (nx7)
so don't need use loop , can write:
p=(b*y')'m' or p=(m(b*y'))'
Comments
Post a Comment