[Users-fr] Somme d'un vecteur et d'une matrice
Jean-Yves Baudais
Jean-Yves.Baudais at insa-rennes.fr
Ven 14 Avr 11:30:52 CEST 2017
Bonjour,
Le 13/04/2017 à 11:36, antoine.elias at scilab-enterprises.com a écrit :
> Cela me semble possible en passant par un produit de Kronecker [...]
Par curiosité j'ai testé la rapidité les trois solutions proposées
iter=100;
out=zeros(3,iter);
for i=1:iter
mprintf("\r%d ",i)
n=2e3;V=rand(1,n);
timer();ones(n,1)*V;tmp=timer();
out(1,i)=tmp;
timer();repmat(V,n,1);tmp=timer();
out(2,i)=tmp;
timer();V.*.ones(n,1);tmp=timer();
out(3,i)=tmp;
end
mean(out,'c')
et sur ma machine le résultat est
ans =
0.04524
0.12252
0.03076
Moralité : le produit de Kroneker est en moyenne un peu plus rapide
que le produit vectoriel. Quand à la fonction repmat, ce n'est pas une
bonne solution. Bien évidement, tout ça n'est vrai que dans le cas
traité ici.
Jean-Yves
Plus d'informations sur la liste de diffusion users-fr