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

MATLAB Discussion :

Convertir un code MATLAB en C


Sujet :

MATLAB

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 77
    Points : 59
    Points
    59
    Par défaut Convertir un code MATLAB en C
    Bonjour,

    J'ai un code Matlab et je suis amené à le traduire en C.

    Connaissez vous une bibliothèque qui simplifie cela?

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 883
    Points
    52 883
    Par défaut
    Cela n'existe pas.
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 77
    Points : 59
    Points
    59
    Par défaut
    Merci Dut pour la réponse.

  4. #4
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Bonsoir,

    Il est important de savoir qu'il est possible d'appeler les fonctions de Matlab à partir d'un programme "C", voir même executer un traitement et de recupérer le résultat de se dernier.

    @+
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  5. #5
    Membre extrêmement actif
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Points : 858
    Points
    858
    Par défaut
    Comment se fait ca en command window?

    Si tu peux donner des details s'il te plait pour nous tous.

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 883
    Points
    52 883
    Par défaut


    Par contre, je répète qu'il n'existe pas de routine pour traduire directement du code MATLAB vers le langage C (ou autres)...
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  7. #7
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Bonsoir,

    Pour faire un exemple, j'ai pas matlab sous la main, mais c'est promis.

    En tous cas j'ai eu à programmer des scripts matlab sous c++builder et VS C#, en utilisant la bibliothèque "#include "engine.h", cela est de même pour le "C".


    J'ai pas vraiment le temps , mais je vais essayé de faire un tuto.


    Au fait, "engine.h" est disponible en version 5 de matlab se trouvant dans un des répertoire de matlab.

    @+
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  8. #8
    Membre extrêmement actif
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Points : 858
    Points
    858
    Par défaut
    Ok kmaniche.

    Merci de ton reponse.


    Si tu peux faire un video tutoriel avec camtasia ca serait parfait.(Comment faire des fichiers mex, comment travailler code du matlab en c++builder etc.)


    J'attends avec impatience ton tutoriel le jour quand tu as un peu du temps libre.

    Merci aussi a dut pour les liens donnes.

    Amicalment,

    Michel

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur robotique
    Inscrit en
    Janvier 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur robotique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Cela à peut être changé depuis les dernières réponse, mais il est tout a fait possible de convertir un code matlab vers du C. Je ne sais pas avec quelle "qualité de code" car je suis en train de voir comment cela fonctionne. Mais avec la version matlab R2014b l'outil MATLAB Coder permet de faire cette conversion. Un tutoriel est disponible sur le site de matlab :
    https://fr.mathworks.com/videos/auto...ode-96483.html

    biz biz !

  10. #10
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    Citation Envoyé par Jerome Briot Voir le message
    [LIST]
    Par contre, je répète qu'il n'existe pas de routine pour traduire directement du code MATLAB vers le langage C (ou autres)...
    il existe par contre des toolboxes de génération de code (en C, C++, ...) à partir de code Matlab
    c'est pas tout à fait la même chose, et c'est très cher

  11. #11
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Points : 352
    Points
    352
    Par défaut
    Citation Envoyé par le fab Voir le message
    il existe par contre des toolboxes de génération de code (en C, C++, ...) à partir de code Matlab
    c'est pas tout à fait la même chose, et c'est très cher
    le Matlab coder permet de générer du code C qui s'executera sans avoir besoin de runtime matlab
    mais toutes les fonction ne peuvent pas etre exporté.

    tu as egalement la possibilité de compiler le code Matlab (Matlab Compiler) celui ci peut te generer des dll en C++ en C# des objet COM aussi il me semble. par contre l'éxécution est dependante du Runtime matlab (celui-ci est gratuit mais il te le faudra sur chaque poste de deploiement et il pause quelque soucis si tu cherche a multithreader des appels au MCR )

    après si tu dois tout réécrire je te conseille la lib C++ amardillo, c'est un synthax assez proche de matlab avec des opérateur surchargé pour les calcules matricielle et pas mal de fonction matlab implémentées etc...

    ça va beaucoup dependre de ton code en faite...

Discussions similaires

  1. convertir une equation en code matlab
    Par nadiaby dans le forum MATLAB
    Réponses: 4
    Dernier message: 05/08/2014, 17h27
  2. convertir un block simulink en code matlab
    Par benza dans le forum Simulink
    Réponses: 2
    Dernier message: 04/06/2014, 19h57
  3. Convertir du code Matlab en VHDL
    Par okitrinaw dans le forum VHDL
    Réponses: 2
    Dernier message: 14/05/2012, 20h03
  4. Convertir un code C++ en un exécutable MATLAB
    Par abir2007gallas dans le forum MATLAB
    Réponses: 1
    Dernier message: 11/04/2008, 16h06
  5. [mx2004]Convertir un code ASCII en une lettre
    Par caramel dans le forum Flash
    Réponses: 3
    Dernier message: 28/01/2004, 16h26

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