<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Bonjour,<div><br></div><div>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:</div><div><br></div><div><pre style="font-family: Monospaced; font-size: 12px;"><span style="color:rgb(160,32,240);">for</span> i<span style="color:rgb(92,92,92);">=</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(255,170,0);">:</span>nat
pos<span style="color:rgb(74,85,219);">(</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">=</span>x<span style="color:rgb(74,85,219);">(</span>i,<span style="color:rgb(255,170,0);">:</span><span style="color:rgb(74,85,219);">)</span>
frac<span style="color:rgb(92,92,92);">=</span>M<span style="color:rgb(92,92,92);">*</span>pos<span style="color:rgb(92,92,92);">'</span>
mfprintf<span style="color:rgb(74,85,219);">(</span>fd,<span style="color:rgb(188,143,143);">'</span><span style="color:rgb(188,143,143);">%3s %10.5f %10.5f %10.5f\n</span><span style="color:rgb(188,143,143);">'</span>,lab<span style="color:rgb(74,85,219);">(</span>i<span style="color:rgb(74,85,219);">)</span>,frac<span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">)</span>,frac<span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">2</span><span style="color:rgb(74,85,219);">)</span>,frac<span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">3</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)</span>
<span style="color:rgb(160,32,240);">end</span></pre><div>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.</div></div><div><br></div><div>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.</div><div><br></div><div>Merci de votre réponse.</div><div>Cordialement,</div><div>Pascal</div><div><br></div><div><br></div><div>-<br><div style="font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif; font-size: 15px; line-height: 22px;"><span style="color: rgb(34, 187, 234); font-size: 14px; font-family: verdana; font-weight: 700;">Pascal Boulet</span> <span style="color: rgb(34, 187, 234); font-size: 11px; font-family: verdana;"><em>- MCF HDR, Resp. L1 MPCI - DEPARTEMENT CHIMIE</em></span></div><div style="font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif; font-size: 15px; line-height: 22px;"><span style="font-size: 11px; font-family: verdana;">Aix-Marseille Université - </span><span style="font-size: 11px; font-family: verdana;">ST JEROME - Avenue Escadrille Normandie Niemen - 13013 Marseille</span></div><div style="font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif; font-size: 15px; line-height: 22px;"><span style="font-size: 11px; font-family: verdana;">Tél: +33(0)4 13 55 18 10 - Fax : +33(0)4 13 55 18 50</span></div><div style="font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif; font-size: 15px; line-height: 22px;"><span style="font-size: 12px; font-family: verdana;">Email : <a href="mailto:pascal.boulet@univ-amu.fr" style="line-height: 20px; color: rgb(34, 187, 234); text-decoration: none;">pascal.boulet@univ-amu.fr</a></span></div></div><div><br></div><div><br></div></body></html>