Can I make this for loop fast?
2 views (last 30 days)
Show older comments
Mohammod Minhajur Rahman
on 28 Nov 2018
Commented: Mohammod Minhajur Rahman
on 28 Nov 2018
Hi, I have a for loop that do some matrix multplicaton. Here, max i and j is 2000, U_new is a matrix of size 200 by 20, K111 cell contains 2000 full matrices of size 200 by 200.
p = 0;
for i =1:max(size(K111))
for j =1:max(size(K111))
p = p + 1;
KQQ{p} = U_new'*K111{i}*K111{j}*U_new;
end
end
2 Comments
Accepted Answer
Matt J
on 28 Nov 2018
Edited: Matt J
on 28 Nov 2018
Here I make occasional use of MAT2TILES (Download),
UK=cell2mat( mat2tiles( U_new'*cell2mat(K111(:).') ,[20,200]).' );
KQQ= mat2tiles( UK*UK.' ,[20,20]);
KQQ=KQQ(:);
More Answers (0)
See Also
Categories
Find more on Text Data Preparation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!