Partager
Page 1 sur 2 12 DernièreDernière
Affiche les résultats de 1 à 15 sur 23

Sujet : connexion entre interfac Delphi et programme matlab

  1. #1
    Inscrit
    mai 2011
    Messages
    69
    Remerciements
    1
    Remercié(e) 4 fois dans 4 messages
    Pouvoir de réputation
    7

    connexion entre interfac Delphi et programme matlab

    Bonsoir

    J'ai un problème concernant la connexion entre delphi et matlab , j'ai écris 2 fonctions sous matlab , et j'ai fait l'interface sous delphi , là j'ai deux boutons , et pour chaque bouton je dois faire appelle à une des 2 fonctions !
    j'ai essayé la commande :
    shellExecute(handle,nil,'C:\Matlab7\bin\win32\MATL AB.exe',nil,nil,sw_show)
    ;
    mais quand j'exécute mon programme , cette commande me permet juste d'ouvrir matlab quand je clique sur le bouton , or ce que je veux moi , c'est que quand je clique sur le bouton cela me dirige directement vers la fonction que j'ai écrite sous matlab !!!!
    quelqu'un aurait il la gentillesse de bien vouloir m'aider ?

  2. # ADS
    Inscrit
    Toujours
    Messages
    Plusieurs






     
  3. #2
    Inscrit
    janvier 2011
    Lieu
    Neant
    Messages
    93
    Remerciements
    26
    Remercié(e) 82 fois dans 46 messages
    Pouvoir de réputation
    7

    Re : connexion entre interfac Delphi et programme matlab

    je pense qu'il faut passer des parametre en ligne de commande a MATLAB g trouvé sa :

    http://www2.phys.canterbury.ac.nz/de...atlab-CLI.html

    -r <MATLAB_command> Start MATLAB and execute the <MATLAB_command>

    sinon pourquoi ne pas réalisé ton interface avec le GUI Builder de Matlab ?

  4. #3
    Inscrit
    septembre 2010
    Lieu
    Alger
    Messages
    1 768
    Remerciements
    599
    Remercié(e) 893 fois dans 585 messages
    Pouvoir de réputation
    18

    Re : connexion entre interfac Delphi et programme matlab

    Si je comprends bien, tu as des variables dans Delphi et tu veux appeler une fonction Matlab. Je vais te donner un exemple avec un entier :

    name:='var'; // Le nom de la variable présente dans ton programme Delhpi
    MatApp.PutWorkspaceData('val', 'integer', 'name'); # val est le nom de var dans Matlab, integer c'est le type, name c'est pour référencer le nom de ta variable var

    Pour éxecuter ta fonction Matlab tu fais :
    MatApp.Execute('f=load('val');'); // Charger var dans Matlab
    MatApp.Execute('abs(f)'); // Exécuter la fonction (valeur absolue de f)

    Bon courage

  5. #4
    Inscrit
    mai 2011
    Messages
    69
    Remerciements
    1
    Remercié(e) 4 fois dans 4 messages
    Pouvoir de réputation
    7

    Re : connexion entre interfac Delphi et programme matlab

    Citation Envoyé par abitaf Voir le message
    je pense qu'il faut passer des parametre en ligne de commande a MATLAB g trouvé sa :

    http://www2.phys.canterbury.ac.nz/de...atlab-CLI.html

    -r <MATLAB_command> Start MATLAB and execute the <MATLAB_command>

    sinon pourquoi ne pas réalisé ton interface avec le GUI Builder de Matlab ?
    je vois pas ce que ces commandes peuvent faire au juste dans mon cas !!
    pour GUI , j'ai essayé au début de faire avec GUI , ensuite quand j'ai placé les push Button ...ect sur mon interface , j'ai pas sût comment faire pour écrire ma fonction,
    je sais que le fait d'enregistrer cela me crée un fichier .m pour ma fonction , mais je sais pas où l'écrire au juste , et est ce que je la laisse telle qu'elle est ou bien la syntaxe change sinon GUI aurait été mieux pour moi

  6. #5
    Inscrit
    mai 2011
    Messages
    69
    Remerciements
    1
    Remercié(e) 4 fois dans 4 messages
    Pouvoir de réputation
    7

    Re : connexion entre interfac Delphi et programme matlab

    Citation Envoyé par Slown Voir le message
    Si je comprends bien, tu as des variables dans Delphi et tu veux appeler une fonction Matlab. Je vais te donner un exemple avec un entier :

    name:='var'; // Le nom de la variable présente dans ton programme Delhpi
    MatApp.PutWorkspaceData('val', 'integer', 'name'); # val est le nom de var dans Matlab, integer c'est le type, name c'est pour référencer le nom de ta variable var

    Pour éxecuter ta fonction Matlab tu fais :
    MatApp.Execute('f=load('val');'); // Charger var dans Matlab
    MatApp.Execute('abs(f)'); // Exécuter la fonction (valeur absolue de f)

    Bon courage
    MatApp.Execute('f=load('val');'); // Charger var dans Matlab
    MatApp.Execute('abs(f)'); // Exécuter la fonction (valeur absolue de f)
    J'ai essayé ça , mais quand j'exécute , il y a une erreur ('Matapp non identifié ') :/

  7. #6
    Inscrit
    septembre 2010
    Lieu
    Alger
    Messages
    1 768
    Remerciements
    599
    Remercié(e) 893 fois dans 585 messages
    Pouvoir de réputation
    18

    Re : connexion entre interfac Delphi et programme matlab

    Citation Envoyé par lalla Voir le message
    J'ai essayé ça , mais quand j'exécute , il y a une erreur ('Matapp non identifié ') :/
    Tu dois taper ces commandes dans l'invite MATLAB7\BIN\WIN32 : mwregsvr mwcomutil et mwregsvr mwcommgr. Pour autoriser la communication.
    Dernière édition par Slown; 21/05/2011 à 12h44

  8. #7
    Inscrit
    mai 2011
    Messages
    69
    Remerciements
    1
    Remercié(e) 4 fois dans 4 messages
    Pouvoir de réputation
    7

    Re : connexion entre interfac Delphi et programme matlab

    Citation Envoyé par Slown Voir le message
    Tu dois taper ces commandes dans l'invite MATLAB7\BIN\WIN32 : mwregsvr mwcomutil et mwregsvr mwcommgr. Pour autoriser la communication.
    donc si j'ai bien compris :
    mes variables sur delphi c'est l'utilisateur qui les saisi dans édit1 et édit2 , donc :
    name:='var'; // ça m'a l'aire bizarre ça !! name:= 'edit1.text' sera plus juste nn ?
    MatApp.PutWorkspaceData('p', 'integer', 'name'); // p est le nom de ma variable dans Matlab,

    Pour l’exécution :
    MatApp.Execute('solution=load('p');'); //
    MatApp.Execute('abs(solution)'); // solution c'est le nom de ma fonction sous matlab

    C'est ça ou bien je suis totalement à coté de la plaque ? :-(

  9. #8
    Inscrit
    septembre 2010
    Lieu
    Alger
    Messages
    1 768
    Remerciements
    599
    Remercié(e) 893 fois dans 585 messages
    Pouvoir de réputation
    18

    Re : connexion entre interfac Delphi et programme matlab

    Ben oui si tu utilises du texte ça sera name:='edit1.text', c'est juste un exemple ce que j'ai donné. Après tu remplaces integer par base, le reste c'est tout bon

    procedure TForm1.BitBtn2Click(Sender: TObject);
    var name:string;
    begin
    MatApp:=CreateOleObject('matlab.application');
    MatApp.visible:=1; # Pour que ton programme puisser utiliser Matlab lorsque Delphi est en cours exécution

    end;

    La c'est pour déclarer le bouton et ses actions.
    Dernière édition par Slown; 21/05/2011 à 14h21

  10. #9
    Inscrit
    mai 2011
    Messages
    69
    Remerciements
    1
    Remercié(e) 4 fois dans 4 messages
    Pouvoir de réputation
    7

    Re : connexion entre interfac Delphi et programme matlab

    Citation Envoyé par Slown Voir le message
    Ben oui si tu utilises du texte ça sera name:='edit1.text', c'est juste un exemple ce que j'ai donné. Après tu remplaces integer par base, le reste c'est tout bon

    procedure TForm1.BitBtn2Click(Sender: TObject);
    var name:string;
    begin
    MatApp:=CreateOleObject('matlab.application');
    MatApp.visible:=1; # Pour que ton programme puisser utiliser Matlab lorsque Delphi est en cours exécution

    end;

    La c'est pour déclarer le bouton et ses actions.
    euh j'ai pas compris ce qui est en rouge :$
    et puis les instruction du message précédent :
    name:= 'edit1.text'
    MatApp.PutWorkspaceData('p', 'integer', 'name');

    MatApp.Execute('solution=load('p');');
    MatApp.Execute('abs(solution)');
    je les écrive où ?????? puisque dans le bouton j'écris la procédure que tu viens d'écrire ????

  11. #10
    Inscrit
    septembre 2010
    Lieu
    Alger
    Messages
    1 768
    Remerciements
    599
    Remercié(e) 893 fois dans 585 messages
    Pouvoir de réputation
    18

    Re : connexion entre interfac Delphi et programme matlab

    Ah oui concernant le base, je m'étais trompé avant ce n'est pas le type de variable mais l'espace de travail (workspace) que tu veux utiliser, deux valeurs peuvent être utilisées "base" ou "global", base ça concerne l'espace de travail principal de Matlab.

    Pour le bouton tu fusionnes les deux parties :

    procedure TForm1.BitBtn2Click(Sender: TObject);
    var name:string;
    begin
    MatApp:=CreateOleObject('matlab.application');
    MatApp.visible:=1; # Pour que ton programme puisser utiliser Matlab lorsque Delphi est en cours exécution

    name:= 'edit1.text'
    MatApp.PutWorkspaceData('p', 'base', 'name');

    MatApp.Execute('solution=load('p');');
    MatApp.Execute('fprintf('%s',solution)');

    end;
    Dernière édition par Slown; 21/05/2011 à 14h50

  12. #11
    Inscrit
    mai 2011
    Messages
    69
    Remerciements
    1
    Remercié(e) 4 fois dans 4 messages
    Pouvoir de réputation
    7

    Re : connexion entre interfac Delphi et programme matlab

    ouki
    dans le cas où j'ai deux variable sur delphi , je fais :

    procedure TForm1.BitBtn2Click(Sender: TObject);
    var name:string;
    begin
    MatApp:=CreateOleObject('matlab.application');
    MatApp.visible:=1; # Pour que ton programme puisser utiliser Matlab lorsque Delphi est en cours exécution

    name1:= 'edit1.text'
    name2:='édit2.text'
    MatApp.PutWorkspaceData('p', 'base', 'name1');
    MatApp.PutWorkspaceData('n', 'base', 'name2');
    MatApp.Execute('solution=load('p');');
    MatApp.Execute('solution=load('n');');
    MatApp.Execute('fprintf('%s',solution)');

    end;

    ????

  13. #12
    Inscrit
    septembre 2010
    Lieu
    Alger
    Messages
    1 768
    Remerciements
    599
    Remercié(e) 893 fois dans 585 messages
    Pouvoir de réputation
    18

    Re : connexion entre interfac Delphi et programme matlab

    Tu ne peux pas charger deux valeurs différentes dans une même variable "solution", il faudrait pouvoir les différencier (solution1 et solution2 par exemple). Le reste c'est ok

  14. #13
    Inscrit
    mai 2011
    Messages
    69
    Remerciements
    1
    Remercié(e) 4 fois dans 4 messages
    Pouvoir de réputation
    7

    Re : connexion entre interfac Delphi et programme matlab

    :s mais j'ai besoin de ces deux variables dans ma fonction 'solution' qui est sous matlab !!!
    c'est pas claire dans ma tête :s :s :s

  15. #14
    Inscrit
    septembre 2010
    Lieu
    Alger
    Messages
    1 768
    Remerciements
    599
    Remercié(e) 893 fois dans 585 messages
    Pouvoir de réputation
    18

    Re : connexion entre interfac Delphi et programme matlab

    Ah okay, s'elle comporte deux fonctions tu fais :
    MatApp.Execute('solution=load('p', 'n');');
    MatApp.Execute('ta_fonction(solution)');

    Solution ce n'est pas la fonction mais elle va permettre de charger tes variables dans l'espace de travail Matlab

  16. #15
    Inscrit
    mai 2011
    Messages
    69
    Remerciements
    1
    Remercié(e) 4 fois dans 4 messages
    Pouvoir de réputation
    7

    Re : connexion entre interfac Delphi et programme matlab

    Citation Envoyé par Slown Voir le message
    Ah okay, s'elle comporte deux fonctions tu fais :
    MatApp.Execute('solution=load('p', 'n');');
    MatApp.Execute('ta_fonction(solution)');

    Solution ce n'est pas la fonction mais elle va permettre de charger tes variables dans l'espace de travail Matlab
    ah ok , donc je saisi le nom de ma fonction là où t'as écrit "ta_fonction" , c ça ??

    sinn , j'arrive pas à taper ce que tu m'as dit dans l'invité de commande :/ , je sais pas comment l'ouvrir , je vais matlab/bin/win32 , ensuite là y a bcp de fichier sous forme .dll ...???

Page 1 sur 2 12 DernièreDernière

Sujets similaires

  1. Mobilis lance son programme de fidélité, Fidelis
    Par Essedik dans le forum Mobilis
    Réponses: 2
    Dernier message: 18/01/2015, 19h51
  2. erreur lors de l'execution d'un programme sur delphi
    Par lalla dans le forum Programmation
    Réponses: 18
    Dernier message: 30/06/2012, 11h04
  3. [Problème] code source de l'algorithme de simplexe sous pascal ou bien delphi
    Par lalla dans le forum Programmation
    Réponses: 7
    Dernier message: 30/12/2011, 17h00
  4. [Problème] Exécution d'une fonction sous matlab tjr :-(
    Par lalla dans le forum Programmation
    Réponses: 26
    Dernier message: 01/06/2011, 22h25
  5. Recrutement developpeur PHP/MySQL (Access et Delphi serait un plus)
    Par recruteur2011 dans le forum Proposition/Recherche d'emploi
    Réponses: 0
    Dernier message: 16/03/2011, 11h14

Règles des messages

  • Vous ne pouvez pas créer de sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas modifier vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé



Liens annexes