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 :

Utiliser SimLab 3.2 dans Matlab (utiliser une banque de fichiers .dll dans Matlab)


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2009
    Messages : 6
    Par défaut Utiliser SimLab 3.2 dans Matlab (utiliser une banque de fichiers .dll dans Matlab)
    Bonjour,

    je suis debutant avec Matlab et j'ai un probleme car je veux utiliser un "logiciel" (Simlab) avec Matlab
    Ce logiciel est en fait un ensemble de fonctions a utiliser sous Matlab, mais je crois avoir compris que ces fonctions sont ecrites en C/C++.
    je dispose donc, apres avoir telecharge ce "logiciel", des documents suivants:

    -un ensemble de fichiers .m qui sont ecrits en matlab et que je peux utiliser directement en matlab
    -un ensemble de fichiers .m dans lesquels seuls des commentaires sont ecrits
    -un ensemble de fichiers .dll dont les titres sont les memes que les fichiers .m n'ayant que des commentaires
    -un ensemble de fichiers .h

    n'ayant aucune idée de comment tout ca marche, j'ai cherché un peu sur internet et j'ai cru comprendre que les .dll sont les "traductions" en matlab de programmes initialement ecrits en C/C++. J'ai aussi lu qqpart que Matlab pouvait lire ces .dll sans probleme.

    J'ai donc copié dans un fichier commun tous mes fichiers .m et mes .dll. lorsque je tente alors de faire appel a une fonction .dll OU a une fonction .m qui elle-meme doit appeler une fonction .dll, j'ai l'un ou l'autre ou les deux messages suivants:

    -'Z:\matlab\'nomdurepertoire'\'nomdelafonction'.dll'.
    MEX-files with .dll extensions will not execute in a future version of MATLAB.

    -??? Invalid MEX-file
    'Z:\matlab\'nomdurepertoire'\'nomdelafonction'.dll': das angegebene Modul wurde nicht gefunden.

    (j'utilise matlab en allemand :-/ )

    Notons que, ne sachant absolument pas ce que sont mes fichiers .h, je n'en ai rien fait.


    Quelqu'un a t il une idée, une piste sur comment je peux faire marcher tout ca??

    Merci beaucoup!

  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 317
    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 317
    Par défaut
    Ouvre MATLAB et tape simplement l'instruction suivante dans le Command Window :

    Dis nous si cela fonctionne, sinon, montre nous tous les messages que MATLAB renvoi

    Dis nous aussi quelle est ta version de MATLAB ( Comment connaitre la liste des Toolbox installées sur un ordinateur ?) et sur quelle système d'exploitation tu travailles ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2009
    Messages : 6
    Par défaut
    Bonjour

    d'abord merci de l'aide

    je travaille sous Windows 2003 SP2, et Matlab 7.8.0.347, Matlab Compiler 4.10, Java 1.6.0_04-b12.

    lorsque je tape hedgedportfolio, j'obtiens

    ???Invalid MEX-file
    'Z:\.matlab\R14SP3\addFacNorm.dll': das angegebene Modul wurde nicht gefunden

    .

    Error in ==> hedgedportfolio at 11
    addFacNorm('hp1',0,1,0.001,0.999,'hp1note')

    voila.
    addFacNorm est une de ces fameuses fonctions que j'ai dans mon repertoire en .m avec juste des commentaires et en .dll

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    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 317
    Par défaut
    Il semble que cette outil utilise des fichiers MEX qui ne sont plus gérés par les nouvelle version de MATLAB.

    As-tu la possibilité de tester le code sur des versions plus anciennes de MATLAB (au moins 7.1 R14SP3) ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2009
    Messages : 6
    Par défaut
    donc, d'apres toi, j'ai fait la bonne manip en mettant les .m et les .dll dans le meme fichier et en ne faisant rien d'autre que d'appeler les .dll comme si c'etaient des .m, c'est ca?
    et le probleme viendrait seulement du fait que mes .dll ne sont pas compatibles avec ma version de matlab, trop nouvelle. J'ai bien compris?

    dans ce cas je tenterai sur une plus vieille version des que je peux et je mettrai les resultats ici

  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 317
    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 317
    Par défaut
    Citation Envoyé par jijimbo Voir le message
    donc, d'apres toi, j'ai fait la bonne manip en mettant les .m et les .dll dans le meme fichier et en ne faisant rien d'autre que d'appeler les .dll comme si c'etaient des .m, c'est ca?
    Je ne comprends pas vraiment ce que tu as fait... as-tu bien suivi toutes les étapes de l'installation de SimLab ?

    SimLab 3.x Installation
    In order to install SimLab 3.x you will need to:

    • Download the SimLab zip file from the simlab web
    • Unzip SimLab zip file into an empty directory of your choice (Please avoid to open files directly from the winzip or the zip program you are using)
    • Launch the setup.exe to start installation
    • During the installation you will provide the requested licence number, you have received by mail
    • The installation will generate a directory called Simlab3.x (By Default "C:\SimLab3.x") containing all the files and documentation

  7. #7
    Membre chevronné

    Inscrit en
    Août 2007
    Messages
    302
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 302
    Par défaut
    Citation Envoyé par jijimbo Voir le message

    -??? Invalid MEX-file
    'Z:\matlab\'nomdurepertoire'\'nomdelafonction'.dll': das angegebene Modul wurde nicht gefunden.
    Cette erreur veut dire qu'il manque une dépendance à ton fichier DLL... Tu devrais pouvoir voir la quelle avec dependancywalker: http://www.dependencywalker.com/

    Salutations,

    Greg

Discussions similaires

  1. Importer un fichier excel dans Oracle (utiliser Toad?)
    Par StephMtl dans le forum Import/Export
    Réponses: 1
    Dernier message: 02/09/2011, 16h10
  2. Réponses: 9
    Dernier message: 08/11/2010, 17h12
  3. [Fichier] Problemes dans l'utilisation de fstream
    Par Kerwando dans le forum SL & STL
    Réponses: 14
    Dernier message: 09/08/2007, 01h14
  4. Integration d'un fichier dll dans une application Java
    Par menzlitsh dans le forum Langage
    Réponses: 3
    Dernier message: 21/09/2006, 15h54
  5. Réponses: 2
    Dernier message: 03/07/2006, 20h14

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