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 :

lire et ecrire un chiffre a l'identique, quel format ?


Sujet :

MATLAB

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 147
    Points : 56
    Points
    56
    Par défaut lire et ecrire un chiffre a l'identique, quel format ?
    Bonjour a tous,

    J'ai developpe un code qui ouvre un fichier texte lit des valeurs les entre dans un autre fichier qui est ensuite utilise pour autre chose.

    J'ai remarque cependant que les valeurs lu et entree ne sont pas les meme que celle du fichier initialement lu par mon code. Par exemple je lis dans toto.dat x=431.448483421658 qui va ensuite etre interprete par matlab et ecrit dans un autre fichier sous x=431.49400000, cette imprecision change mes resultats finaux.

    J'utilise pour lire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    fid = fopen('TealSouth\DATA.DAT','r'); 
    x = fscanf (fid,'%g %g',[1 2]);
    x(2)=0
    et pour ecrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fprintf(fid,'%g %g',x);
    Il ne faut pas utiliser %g, j'ai aussi essaye avec %f et c'est pas mieux ? j'ai trop de precision dans ma valeur a lire ?

    Merci a vous.

  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 302
    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 302
    Points : 53 166
    Points
    53 166
    Par défaut
    Citation Envoyé par DJEcalcul Voir le message
    x=431.448483421658 qui va ensuite etre interprete par matlab et ecrit dans un autre fichier sous x=431.49400000
    Avec une telle précision, peu de gens utiliserait MATLAB

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    >> X = sscanf('431.448483421658', '%f')
     
    X =
     
      431.4485
     
    >> sprintf('%.12f\n', X)
     
    ans =
     
    431.448483421658
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 147
    Points : 56
    Points
    56
    Par défaut
    C'est la reponse que je craignais..

    Merci en tout cas.

  4. #4
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut
    Pour ce qui est de les répliquer dans un autre fichier, il suffit de les lire et de les écrire comme des chaines de caractères.

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 147
    Points : 56
    Points
    56
    Par défaut
    Merci.

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

Discussions similaires

  1. lire et ecrire des donnée dans un .ini
    Par gsmdu62 dans le forum Delphi
    Réponses: 6
    Dernier message: 25/05/2006, 03h29
  2. [VB6] Usb (Lire et ecrire)
    Par Bouassa dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 10/05/2006, 21h54
  3. Réponses: 54
    Dernier message: 16/03/2006, 11h42
  4. lire et ecrire
    Par ax07 dans le forum Windows
    Réponses: 6
    Dernier message: 24/11/2005, 09h07
  5. [JAR] Lire et Ecrire dans un fichier contenu dans un jar
    Par lipao17 dans le forum Général Java
    Réponses: 5
    Dernier message: 02/05/2005, 12h01

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