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 :

[strcat] Problème écriture fichier


Sujet :

MATLAB

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 002
    Points : 476
    Points
    476
    Par défaut [strcat] Problème écriture fichier
    Bonjour,

    voici un code pour écrire dans un fichiers des noms et valeurs...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Data = strcat(FileName,{' '},num2str([RMS_v1_tot Disp_v1_5_good std_v1 dep_v1 dep_spectre_v1...
        integ_spec_v1 moyen_spec_v1 ratio_moy pourcentage_baisse_A1_A2...
        pourcentage_baisse_A1_A2_2],'%1.2f'));
     
    fid(2) = fopen('Valeurs_bf_etude.txt','at') ;
    fprintf(fid(2),'%s\n',Data{:});
    fclose(fid(2));
    Aucune erreur mais le fichier .txt retourné a toutes les valeurs collées entre elles :

    090212_00000006.pro 8201.53318.008202.3581.0025.00209968.3152.491.3857.0016.00
    Je pense qu'en divisant chaque num2str comme cela... :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Data = strcat(FileName,{' '},num2str([RMS_v1_tot],'%1.2f'), num2str([Disp_v1_5_good],'%1.2f'),  num2str([std_v1 dep_v1],'%1.2f'),... )
    ... ça devrait marché mais n'y a t il pas plus simple?

    Merci

    EDIT : non la technique ci-dessus ne marche pas !

  2. #2
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Ce serait bien de nous donner des renseignements sur tes données.
    Peut-être construire un petit exemple avec juste la variable FileName (tableau de cellule n*1 ??) et 2 variables numériques.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 002
    Points : 476
    Points
    476
    Par défaut
    Oui, un peu lourd là. Voici un petit exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    FileName = 'Monfichier.pro' ;
    RMS_v1_tot = 54.25 ;
    Disp_v1_5 = 87.458 ;
    Data = strcat(FileName,{' '},num2str([RMS_v1_tot Disp_v1_5],'%1.2f'));
    fid(2) = fopen('Valeurs_bf_etude_test.txt','at') ;
    fprintf(fid(2),'%s\n',Data{:});
    fclose(fid(2));
    me retourne :

    Monfichier.pro 54.2587.46
    C'est bon, mais les valeurs sont collées.

    Merci

  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 308
    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 308
    Points : 52 891
    Points
    52 891
    Par défaut
    Et pourquoi ne pas simplement faire ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    FileName = 'Monfichier.pro' ;
    RMS_v1_tot = 54.25 ;
    Disp_v1_5 = 87.458 ;
     
    fid(2) = fopen('Valeurs_bf_etude_test.txt','at') ;
       fprintf(fid(2),'%s %1.2f %1.2f\n',FileName,RMS_v1_tot,Disp_v1_5);
    fclose(fid(2));
    Sinon, met un espace entre le % et le premier chiffre du format flottant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    FileName = 'Monfichier.pro' ;
    RMS_v1_tot = 54.25 ;
    Disp_v1_5 = 87.458 ;
    Data = strcat(FileName,{' '},num2str([RMS_v1_tot Disp_v1_5],'% 1.2f'));

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/04/2010, 20h01
  2. Problème écriture fichier XML
    Par drake56 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 13/03/2010, 12h16
  3. [Vb.net] Probléme écriture fichier textes
    Par miabi dans le forum VB.NET
    Réponses: 4
    Dernier message: 08/10/2009, 17h36
  4. Problème écriture fichier xml
    Par ludo24 dans le forum ASP
    Réponses: 23
    Dernier message: 23/06/2008, 11h48
  5. [Servlet] Probléme écriture fichier
    Par hedgehog dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 23/05/2005, 15h17

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