IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Conversion d'un code Matlab .m en code Cpp


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    46
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 46
    Par d�faut Conversion d'un code Matlab .m en code Cpp
    Bonjour,

    Voil� mon probl�me. J'ai fait des simus sous Matlab (plusieurs fichiers .m).

    1) Le code est assez complexe et notamment il y a plein de boucle "for". La sp�cificit� de Matlab est que le premier �l�ment d'un vecteur est le 1 alors qu'en C c'est 0.

    Existe t'il une librairie / une astuce particuli�re pour ne pas se tromper voir faire cela de mmani�re automatique car � mon avis si je le fais "� la main" il y a de grandes chances que je me trompe !

    2) En ce qui concerne les op�rations sur matrice (multiplication , inversion, transpos�e): j'ai trouv� une librairie (pas encore test�e) qui semble offrir une interface similaire � cellle de Matlab pour �crire des programmes en Cpp. C'est Nt2, ici: http://nt2.sourceforge.net/

    En connaissez vous d'autres ?


    Remarque: je sais qu'il existe des solutions dans Matlab pour convertir du code en C/C++ mais elle ne semble pas convenir � mon utilisation. En effet, � terme c'est pour un contr�leur de robot (temps r�el tournant sous Xenomai et sous linux).

    Merci d'avance

  2. #2
    Membre �prouv�
    Profil pro
    Inscrit en
    D�cembre 2004
    Messages
    1 299
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 1 299
    Par d�faut
    Salut, pour la conversion de Matlab en C++, je te conseille de tout r��crire � la main ce sera bien plus performant. Bien s�r, il faudra �tre tr�s attentif aux indices. Mais bon, en soi ce n'est pas compliqu� (suffit juste de faire -1 aux indices...)

    Pour l'alg�bre lin�aire, il y a Lapack. C'est du fortran mais cela s'int�gre tr�s facilement dans un code C ou C++. Sinon il y a, je n'ai jamais test�, la librairie Boost, ou Blas.

    Tu peux aussi voir NAG (payant) et Harwell (payant)

  3. #3
    Expert confirm�
    Avatar de Melem
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par d�faut
    La meilleure solution ici c'est d'utiliser la technique de compilation s�par�e. Des infos qui peuvent t'�tre utiles ici et sur le forum matlab ...

  4. #4
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par d�faut
    Citation Envoy� par MDiabolo Voir le message
    2) En ce qui concerne les op�rations sur matrice (multiplication , inversion, transpos�e): j'ai trouv� une librairie (pas encore test�e) qui semble offrir une interface similaire � cellle de Matlab pour �crire des programmes en Cpp. C'est Nt2, ici: http://nt2.sourceforge.net/
    NT� est fait pour. Apr�s, en tant qu'auteur principal, je vais faire mon mea culpa sur le manque de support ces derniers temps. Sache n�anmoins que �a fonctionne plut�t tr�s bien et qu'une version 3 est cens� sortir sous peu :o

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Par d�faut
    Salut

    Il y aussi Eigen, et d'autres cit�es dans le benchmark d'Eigen. Je remarque au passage que NT� n'y figure pas, ce serait peut �tre une bonne id�e de leur proposer ?

  6. #6
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par d�faut
    Citation Envoy� par jblecanard Voir le message
    Salut

    Il y aussi Eigen, et d'autres cit�es dans le benchmark d'Eigen. Je remarque au passage que NT� n'y figure pas, ce serait peut �tre une bonne id�e de leur proposer ?
    on disctue r�guli�rement avec Benoit Jacob. NT� ne leur a pas �t� propos� surtout parce que � l'�poque, la biblioth�que etait utilis�e dans des projets de recherches dans des entreprises "sensibles". Le code a depuis �t� rendu publiable.

    Pour info, j'etais au dernier meeting parisien de dev d'Eigen ou on a discut� le sujet

Discussions similaires

  1. Conversion code MATLAB vers VBA
    Par viejo dans le forum Macros et VBA Excel
    R�ponses: 2
    Dernier message: 03/07/2012, 18h06
  2. Conversion de code MATLAB en Qt
    Par latifah dans le forum D�buter
    R�ponses: 8
    Dernier message: 15/05/2012, 02h31
  3. Conversion d'un code MATLAB en C
    Par jmour dans le forum D�buter
    R�ponses: 5
    Dernier message: 04/02/2012, 01h05
  4. [D�butant] Conversion code MATLAB en code Python 2.6
    Par frisou65 dans le forum MATLAB
    R�ponses: 1
    Dernier message: 28/09/2011, 19h52
  5. Utiliser un code MATLAB dans du code Java
    Par si_a7med dans le forum MATLAB
    R�ponses: 1
    Dernier message: 23/04/2011, 16h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo