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] Comment intégrer des variables WS ?


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    R&D
    Inscrit en
    Mai 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : R&D
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2008
    Messages : 101
    Par défaut [Compiler] Comment intégrer des variables WS ?
    Bonjour,

    Je suis en train d'essayer de compiler du matlab mais je n'arrive pas à intégrer une variables WS (une strusture composés de différentes données) en "dur" dans le code à compiler...

    Ademettons que ma variable ait le nom var1 comment l'intégrer dans mon code svp ?

    Merci

  2. #2
    Membre Expert
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Par défaut
    WS pour Workspace? comme on le voit dans la doc d'assignin ou evalin?
    Sinon si tu veux exporter des variables avec le MATLAB Compiler, tu peux faire un MAT-file en utilisant la commande save.
    Ensuite en ligne de commande pour l'ajouter à la compilation, tu utilises le flag -a. Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mcc -mv myfunction.m -a mymatfile.mat
    Autrement plus simple sans passer par des lignes de commande "barbare"tu utilises le deploytool .

  3. #3
    Membre confirmé
    Homme Profil pro
    R&D
    Inscrit en
    Mai 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : R&D
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2008
    Messages : 101
    Par défaut
    oui WS comme workspace. Le probléme c'est que si je fais un .exe pour un pc qu n'a pas matlab, je ne peux pas utiliser les fonctions evalin ou assignin pour extraire cette variable du workspace... Cette variable n'est pas calculée par le code mais est nécéssaire pour les calculs.

    Je vais essayer tes solutions, merci de ton aide.

  4. #4
    Membre Expert
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Par défaut
    Oui donc là en effet si tu as besoin de ces variables vraiment au tout début de ton code le plus simple c'est de les stocker dans un MAT-file ou alors d'aller les lire en dur dans un fichier texte par exemple.

  5. #5
    Membre confirmé
    Homme Profil pro
    R&D
    Inscrit en
    Mai 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : R&D
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2008
    Messages : 101
    Par défaut
    Le problème est toujours persistant...
    Voila comment je peux résumer le problème avc un exemple simple.
    J'ai créer un matrice a=1 que j'ai enregistrée en .mat.
    Je clear le workspace et je lance la fonction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function test()
     
    load -mat a     % Chargement de la valeur de a contenu dans un matrice double et enregistrée en .mat
     
    h=figure;
    uicontrol(h,'style','edit','units','normailized','position',[0 0 1 1]);
    set(findobj('style','edit'),'string',a)

    J'obtiens bien une figure avec la valeur de a indiquée.


    Je voudrais créer un .exe qui me donne le meme résultat (une figure avec la valeur de a que le programme aurait été cherchée)

    Je ne pense pas avoir bien saisi les subtilités du compiler pour le moment mais jai tout de meme
    essayé avec le deploytool et en commande (mcc -mv test.m -a a.mat) mais ma figrue n'est jamais apparue...

    Merci de votre aide

  6. #6
    Membre confirmé
    Homme Profil pro
    R&D
    Inscrit en
    Mai 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : R&D
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2008
    Messages : 101
    Par défaut
    Problème résolu, il suffisait d'enregistrer les var en -v7 et non en -mat.
    Merci pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/06/2007, 18h48
  2. Comment intégrer des fonctions de traitement de texte?
    Par smotte76 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 02/03/2006, 15h46
  3. Réponses: 7
    Dernier message: 23/01/2006, 11h53
  4. Comment intégrer des applications multiples ?
    Par Vulcanos dans le forum Composants VCL
    Réponses: 8
    Dernier message: 22/09/2005, 23h08
  5. Réponses: 8
    Dernier message: 29/11/2004, 16h28

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