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 :

Compiler une mex-function


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juillet 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2
    Par défaut Compiler une mex-function
    Bonjour tout le monde,
    J'aimerais utiliser un algorithme (T030168-00) dans un programme Matlab. Seul bémol, l'algorithme est en C. Bien sûr j'ai essayé de bidouiller avec les mex-functions sans succès. Faut dire que je n'ai aucune notion en C et je n'ai jamais utilié les mex-functions. J'ai déjà passé 3 jours pour rendre compatible le compilateur sdk 7.1 avec ma version de Matlab; cela ne me tente vraiment pas de passer encore une semaine pour apprendre les bases du langage C. Je remercie toute personne qui voudra bien m'aider.
    Images attachées Images attachées
    Fichiers attachés Fichiers attachés

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Tout le code à partir de la ligne 8 est le code de la fonction rngmed, on doit donc avoir :
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    void rngmed (const double *data, unsigned int lendata, unsigned int nblocks, double *medians) {
        // le code
    }
    Le code de la fonction rngmed_sortindex n'est pas donné, mais étant censé comparer les indices, il doit ressembler à :
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    int rngmed_sortindex (const void *elem1, const void *elem2) {
        rngmed_val_index * el1 = (rngmed_val_index)elem1;
        rngmed_val_index * el2 = (rngmed_val_index)elem2;
     
        /* retourner le résultat de la comparaison */
    }
    Le résultat qui se présentera comme suit :
    • =0 si el1 est égal à el2
    • < 0 si el1 est inférieur à el2
    • > 0 si el1 est supérieur à el2

    Plus de détails en suivant ce lien

    Il manque ensuite les définitions des différentes structures utilisées :
    1. rngmed_val_index qui d'après le code devrait avoir les champs data de type double et index de type int.
    2. node qui devrait avoir les champs data de type double, et prev_sorted, next_sorted, next_sequence de type node*.

    Ceci pour le code C...

    Maintenant en ce qui concerne MATLAB, il faut commencer par se poser les questions suivantes :
    • Comment-vais-je appeler ma fonction MEX ?
    • Quelles seront les entrées ? Les sorties ?
    • Éventuellement les différentes formes d'appel possible, valeurs par défaut, etc.

    À partir de là tu pourras commencer à construire le squelette de la fonction mexFunction.

    Bon courage

  3. #3
    Candidat au Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juillet 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2
    Par défaut
    Merci Winjerome d'avoir répondu aussi vite, je vais commencer par regarder tes suggestions

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/06/2014, 11h33
  2. [Débutant] [VS 2008 team system] problème de couverture du code d'une mex function MATLAB à 0%
    Par toilla dans le forum Visual Studio Team System
    Réponses: 0
    Dernier message: 11/03/2013, 11h56
  3. Problème de la compilation d'une S-function
    Par enp-uqat dans le forum Simulink
    Réponses: 2
    Dernier message: 23/12/2010, 15h56
  4. [Debutant(e)]Compiler une classe
    Par tscoops dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 27/05/2004, 13h50

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