[Users-fr] multiplication matricielle
Pascal Boulet
pascal.boulet at univ-amu.fr
Lun 20 Juin 16:29:58 CEST 2016
Bonjour,
Je travaille avec des atomes (dans une molécule) auxquels je veux appliquer une matrice de transformation 3x3. Les atomes sont repérés par des coordonnées x, y et z. En fait j’ai une liste de ’nat' atomes. Actuellement, pour appliquer la matrice à chacun des atomes je fais une boucle sur les atomes, tel que:
for i=1:nat
pos(:)=x(i,:)
frac=M*pos'
mfprintf(fd,'%3s %10.5f %10.5f %10.5f\n',lab(i),frac(1),frac(2),frac(3))
end
Les positions de tous les atomes sont contenues dans la matrice x(1:nat,1:3). Dans la boucle chaque position est stockée dans pos(1:3) puis multipliée par la matrice de transformation M. Ensuite j’écris le résultat dans un fichier.
Je voudrais simplement savoir s’il y a une méthode plus efficace qui permettrait de s’affranchir de la boucle sur le nombre d’atomes et pour bénéficier de la vectorisation de Scilab.
Merci de votre réponse.
Cordialement,
Pascal
-
Pascal Boulet - MCF HDR, Resp. L1 MPCI - DEPARTEMENT CHIMIE
Aix-Marseille Université - ST JEROME - Avenue Escadrille Normandie Niemen - 13013 Marseille
Tél: +33(0)4 13 55 18 10 - Fax : +33(0)4 13 55 18 50
Email : pascal.boulet at univ-amu.fr
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <https://lists.scilab.org/pipermail/users-fr/attachments/20160620/07774b07/attachment.htm>
Plus d'informations sur la liste de diffusion users-fr