
Fast computation of an equation.
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
David Ernesto Caro
le 9 Sep 2019
Commenté : David Ernesto Caro
le 11 Sep 2019
Given two matrices:


We want a the fastest way to compute the vector \phi.... (j=1 to m).
Is there a way to use parallel computation, any trick?
8 commentaires
Bruno Luong
le 10 Sep 2019
Modifié(e) : Bruno Luong
le 10 Sep 2019
what are typically m,n and s?
If you have X as matrix the best method might be different, see my answer bellow.
Réponse acceptée
Bruno Luong
le 10 Sep 2019
Modifié(e) : Bruno Luong
le 10 Sep 2019
The efficientcy of the bellow method depend on m, n, s
% Generate dummy test data
m = 1000;
n = 1000;
s = 1000;
W = rand(m,n);
V = rand(m,n);
X = rand(n,s);
% Walter method
tic
Xp = permute(X,[3 1 2]);
Z1 = sum((Xp-W).*(V-Xp),2);
Z1 = reshape(Z1,[m s]).';
toc % Elapsed time is 2.816333 seconds.
% My new method
tic
Z2 = -sum(X.^2,1)+(W+V)*X-sum(W.*V,2);
Z2 = Z2.';
toc % Elapsed time is 0.040274 seconds.
% Check correctness
norm(Z1-Z2,'fro')/norm(Z1,'fro') % 4.6622e-15
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!