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