vectorize a block matrix calculation
조회 수: 2 (최근 30일)
이전 댓글 표시
Dear;
I want calculate a big matrix composed of blocks, for that I use the following code:
k=length(a); % Long vector
n=size(xx,1); % 2D or 3D matrix always the same
TP=repmat(zeros(size(xx),k,1); % Big matriz composed by blocks
for i=1:k
TP((i-1)*n+1:i*n,:)=a(i)*xx; % Block i of TP matrix
end
Is there any way to vectorize this code and speed up the calculation Many thanks;
댓글 수: 0
채택된 답변
Matt J
2017년 4월 28일
TP=kron(a(:),xx);
댓글 수: 3
Andrei Bobrov
2017년 4월 28일
TP = reshape(bsxfun(@plus,xx',reshape(a,1,1,[])),size(x,2),[])'
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!