[Users-fr] multiplication matricielle

Pascal Boulet pascal.boulet at univ-amu.fr
Lun 20 Juin 17:48:25 CEST 2016


Super! merci!
Pascal

Le 20 juin 2016 à 17:09, users-fr-request at lists.scilab.org a écrit :

> Envoyez vos messages pour la liste users-fr à
> 	users-fr at lists.scilab.org
> 
> Pour vous (dés)abonner par le web, consultez
> 	http://lists.scilab.org/mailman/listinfo/users-fr
> 
> ou, par email, envoyez un message avec 'help' dans le corps ou dans le
> sujet à
> 	users-fr-request at lists.scilab.org
> 
> Vous pouvez contacter l'administrateur de la liste à l'adresse
> 	users-fr-owner at lists.scilab.org
> 
> Si vous répondez, n'oubliez pas de changer l'objet du message afin
> qu'il soit plus spécifique que "Re: Contenu du digest de users-fr..."
> 
> 
> Thèmes du jour :
> 
>   1. multiplication matricielle (Pascal Boulet)
>   2. Re: multiplication matricielle (Samuel Gougeon)
>   3. Re: multiplication matricielle (Samuel Gougeon)
>   4. Sortie de Scilab 6.0.0 beta 2 (Scilab Team)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Mon, 20 Jun 2016 16:29:58 +0200
> From: Pascal Boulet <pascal.boulet at univ-amu.fr>
> To: users-fr at lists.scilab.org
> Subject: [Users-fr] multiplication matricielle
> Message-ID: <0DADA45A-1E93-4D36-B587-55D9D627A9DC at univ-amu.fr>
> Content-Type: text/plain; charset="windows-1252"
> 
> 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: <http://lists.scilab.org/pipermail/users-fr/attachments/20160620/07774b07/attachment-0001.html>
> 
> ------------------------------
> 
> Message: 2
> Date: Mon, 20 Jun 2016 16:53:26 +0200
> From: Samuel Gougeon <sgougeon at free.fr>
> To: French users mailing list for Scilab <users-fr at lists.scilab.org>
> Subject: Re: [Users-fr] multiplication matricielle
> Message-ID: <57680366.9060308 at free.fr>
> Content-Type: text/plain; charset="windows-1252"; Format="flowed"
> 
> Bonjour,
> 
> Le 20/06/2016 16:29, Pascal Boulet a écrit :
>> 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.
> .
> Oui, il suffit de transposer votre matrice x avant de multiplier M par elle:
> newX = M*x.'  // où x(:,i) désignent les coordonnées initiales de 
> l'atome n°i, et newX(:,i) ses coordonnées finales.
> 
> rotate3d() utilise cette méthode pour donner les coordonnées après une 
> rotation en 3D :
> https://fileexchange.scilab.org/toolboxes/369000
> 
> Bonne continuation
> Samuel
> 
> -------------- section suivante --------------
> Une pièce jointe HTML a été nettoyée...
> URL: <http://lists.scilab.org/pipermail/users-fr/attachments/20160620/495621bb/attachment-0001.html>
> 
> ------------------------------
> 
> Message: 3
> Date: Mon, 20 Jun 2016 17:07:23 +0200
> From: Samuel Gougeon <sgougeon at free.fr>
> To: French users mailing list for Scilab <users-fr at lists.scilab.org>
> Subject: Re: [Users-fr] multiplication matricielle
> Message-ID: <576806AB.6030703 at free.fr>
> Content-Type: text/plain; charset="windows-1252"; Format="flowed"
> 
> Le 20/06/2016 16:29, Pascal Boulet a écrit :
>> 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
> .
> Pour être concret :
> 
> frac = M*x.'; // pour tester la sortie formatée dans la console, sans 
> boucle : frac = frac.'; mprintf('%3s %10.5f %10.5f %10.5f\n', lab(:), 
> frac(:,1), frac(:,2), frac(:,3))
> 
> 
> SG
> 
> -------------- section suivante --------------
> Une pièce jointe HTML a été nettoyée...
> URL: <http://lists.scilab.org/pipermail/users-fr/attachments/20160620/bb1312c8/attachment-0001.html>
> 
> ------------------------------
> 
> Message: 4
> Date: Mon, 20 Jun 2016 17:09:09 +0200
> From: Scilab Team <yann.debray at scilab-enterprises.com>
> To: users-fr at lists.scilab.org
> Subject: [Users-fr] Sortie de Scilab 6.0.0 beta 2
> Message-ID: <57680715.30408 at scilab-enterprises.com>
> Content-Type: text/plain; charset="utf-8"; Format="flowed"
> 
> Cher utilisateur de Scilab,
> 
> Nous avons publié la beta-2 de Scilab 6.0.0, la version revisitée de 
> notre plateforme open-source pour la modélisation, la simulation et 
> l'analyse de données scientifiques.
> 
> Cette beta-2 est une candidate à la version finale pour tous les 
> utilisateurs, commerciaux ou de la communauté.
> 
> Télécharger Scilab 6.0.0 beta-2 
> <http://www.scilab.org/download/6.0.0-beta-2>
> 
> *Spécifique à cette version :
> 
> *--> Xcos - l'outil pour le design & simulation de systèmes dynamiques - 
> utilise le nouveau moteur de Scilab et se lance en natif, ce qui doit 
> fournir de bien meilleures performances et supporter de bien plus grands 
> modèles. Xcos peut charger et simuler des diagrammes créés avec 
> d'anciennes versions de Scilab,
> 
> --> Stabilité pour la migration de toolbox - le logiciel est désormais 
> suffisamment stable pour que vous portiez votre code vers Scilab 6 ! 
> Postez votre nouvelle version sur ATOMS <https://atoms.scilab.org/add/>.
> 
> *Nouveau dans Scilab 6 :*
> 
> --> Nouveau coeur de calcul permettant l'utilisation de larges sets de 
> données,
> 
> --> Outils de productivité pour le développement 
> <http://scilab.io/products/scilab/algo-dev/> : debugger, profiler et 
> coverage.
> 
> Merci de nous communiquer vos retours.
> Nous poursuivons nos efforts pour améliorer Scilab pour tout le monde.
> Nous espérons que vous apprécierez cette version.
> 
> --
> The Scilab Team
> 
> -------------- section suivante --------------
> Une pièce jointe HTML a été nettoyée...
> URL: <http://lists.scilab.org/pipermail/users-fr/attachments/20160620/c7abad44/attachment.html>
> 
> ------------------------------
> 
> Subject: Pied de page des remises groupées
> 
> _______________________________________________
> users-fr mailing list
> users-fr at lists.scilab.org
> http://lists.scilab.org/mailman/listinfo/users-fr
> 
> 
> ------------------------------
> 
> Fin de Lot users-fr, Vol 44, Parution 1
> ***************************************




Plus d'informations sur la liste de diffusion users-fr