bsxfun to multiply matrix with vector multiple times in for loop --> how faster?
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I have a 2D matrix of size NxN, and each row I am multiplying with a 1xN vector with bsxfun in a for loop like this:
for k=1:1000
b(k)=mean(bsxfun(@times,tb_filter2d,d(k,:)),2);
end
Is there a way to speed this up? d is of the size 1000xN.
Thank you!!
4 Commenti
James Tursa
il 6 Mar 2017
If tb_filter2d is your NxN matrix, how does this even work since the result of the RHS is a vector and you are assigning it to a scalar element location b(k)?
Risposte (2)
Ankita Nargundkar
il 9 Mar 2017
1. If you are on MATLAB R2016b, you can use operators directly instead of bsxfun. Refer to this example
Something on similar lines, https://www.mathworks.com/matlabcentral/answers/210352-optimize-speed-up-a-big-and-slow-matrix-operation-with-addition-and-bsxfun
0 Commenti
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!