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 :

Lancer un fichier matlab en batch


Sujet :

MATLAB

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 173
    Par défaut Lancer un fichier matlab en batch
    Bonjour,

    J'essaye de lancer un fichier matlab par un fichier batch pour ensuite lancer un programme R.

    J'ai essayé pour la partie Matlab de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\Program Files (x86)\MATLAB\R2010b\bin\matlab.exe" -r "c:\temp\Main_tirage.m"
    Matlab se lance mais pas le code.

    Si quelqu'un peux m'aider merci

  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
    Comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\Program Files (x86)\MATLAB\R2010b\bin\matlab.exe" -sd "c:\temp" -r "Main_tirage"

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 173
    Par défaut
    Merci, en faite je l'avais mis dans temp pour raccourcir seulemnt il est dans un autre répertoire avec des espaces dans le chemin du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "D:\modelisation Matlab_gestion de la base de données\Backtesting_modèle_Logit\Matlab"
    Et ça ne passe plus

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 173
    Par défaut
    Pour tester j'ai déplacé les fichiers qui étaients liés aux main dans temp, matlab se lance mais reste sur Initialising...

  5. #5
    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
    Ben, oui mais même si ça semble un peu ringard, ne pas utiliser d'espace, de caractères spéciaux ou de caractères accentués dans les noms de fichiers et de dossier, ainsi que des noms courts font quand même partie des bonnes pratiques de programmation.

    Sinon, as-tu essaié avec un script tout simple qui ne fait qu'afficher une phrase ?

    Par exemple :


  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 173
    Par défaut
    Autant pour moi ça marche.
    Merci vous êtes au top, il faut revenir sur ses basique.

    Next level: Lancer le bat mais pas avoir matlab d'ouvert visuellement?

  7. #7
    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 Stepsbysteps Voir le message
    Next level: Lancer le bat mais pas avoir matlab d'ouvert visuellement?
    Tu ne pourras pas te passer de l'ouverture de MATLAB.

    Au mieux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\Program Files (x86)\MATLAB\R2010b\bin\matlab.exe" -nodesktop -minimize -nosplash -sd "c:\temp" -r "Main_tirage"
    Tu peux aussi utiliser le -nojvm selon l'utilité ou non des outils Java.

    Voir l'impact que cela a sur la quantité de mémoire au démarrage : Memory (part2)

  8. #8
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 173
    Par défaut
    Super merci beaucoup!

  9. #9
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 173
    Par défaut
    Ok, en faite maintenant dans mon bacth je lance un second programme avec un autre logiciel mais il doit se lancer à la fin du 1er ce qui n'est pas le cas pour l'instant.

    Comment puis-je remédier à ça?

  10. #10
    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
    Essaie en remplaçant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\Program Files (x86)\MATLAB\R2010b\bin\matlab.exe"
    simplement par

    Je en me rappelait plus que l'option -sd n'était plus supportée...

    Dans ce cas la ligne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\Program Files (x86)\MATLAB\R2010b\bin\matlab.exe" -nodesktop -minimize -nosplash -sd "c:\temp" -r "Main_tirage"

    devient

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cd "c:\temp"
     
    matlab -nodesktop -minimize -nosplash -r "Main_tirage"

  11. #11
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 173
    Par défaut
    Bonjour,

    Merci en faite il fait toujours ma 2ème commande quand matlab se lance,
    j'ai enlevée les options :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -nodesktop -minimize -nosplash
    Pour bien voir ce qu'il se passe.

    Le 1er programme me sort un fichier texte, le deuxième le traite et en faite quand je lance le batch le 2ème programme traite l'ancien fichier texte créee lors d'une précédente manipulation.

  12. #12
    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
    Effectivement, il ne semble pas y avoir de solution simple à ce problème.

    Pourrais-tu nous expliquer précisément ce que tu fais, quelles sont les étapes et les lignes de commandes que tu souhaites effectuer ?

  13. #13
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 173
    Par défaut
    J'effectue un tirage avec Matlab sur un gros fichier de données et je traite ce fichier avec R pour une régression logistique.

    Du coup je voulais que les deux traitements s'effectue en lançant qu'une opération d'où un batch.

  14. #14
    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
    Ce que je ne vois pas très bien, c'est pourquoi utiliser une fichier batch

    Tu pourrais très bien lancer R depuis MATLAB une fois le tirage effectué.

  15. #15
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 173
    Par défaut
    Ah oui? Il me reste plus qu'à savoir comment alors

  16. #16
    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
    Jette un œil à la fonction system :


  17. #17
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 173
    Par défaut
    Ok merci j'en conclut :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system('R CMD BATCH infile outfile');
    Je joue pour l'instant avec une version portable de R ce qui est assez contraignant car si je comprends bien, le mot clé R ne sera pas répertorié?

    Quand au infile, faut-il qu'il soit placer dans le \bin?

    J'aimerai un truc sur le bureau ou autre plus simple.

    Merci d'avance,
    J'en apprends beaucoup avec vous

  18. #18
    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
    Tu peux faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    pathname = 'C:\temp';
    infile = fullfile(pathname,'test.R');
    outfile = fullfile(pathname,'test.txt');
     
    cmd = sprintf('R CMD BATCH %s %s', infile, outfile);
     
    system(cmd)
    C'est l'idée, à toi de l'adapter.

  19. #19
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 173
    Par défaut
    Ok super merci je reprendrai ça lundi

  20. #20
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 173
    Par défaut
    voici ce que j'ai obtenu :

    Il dit qu'il peut pas ouvrir le fichier de sortie.
    Images attachées Images attachées  

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Lancer un fichier R en batch
    Par Stepsbysteps dans le forum R
    Réponses: 8
    Dernier message: 14/03/2013, 16h10
  2. commande DOS impossible à lancer via fichier BATCH
    Par siekken dans le forum Scripts/Batch
    Réponses: 11
    Dernier message: 11/03/2009, 13h24
  3. Comment lancer un fichier batch ?
    Par potili2 dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 07/11/2007, 14h46
  4. Réponses: 4
    Dernier message: 23/03/2006, 22h03
  5. Lancer un fichier html
    Par miss mary b dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 01/01/2004, 20h04

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