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

Fortran Discussion :

Extraire des valeurs d'un fichier


Sujet :

Fortran

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2010
    Messages : 12
    Points : 9
    Points
    9
    Par défaut Extraire des valeurs d'un fichier
    Bonjour à tous..

    J'ai quelques problèmes avec Fortran. J'ai un fichier résultat que je le lis mais je souhaiterais extraire certaines valeurs. EN fait, mon fichier résultat est conçu comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    ZONE T = "1.0     ", I = 81 , J = 81, F=POINT
     0.0000     5.000        0.0000     0.002865   0.09535    
     0.1250     5.000        0.0000     0.002133   0.09544    
     0.2500     5.000        0.0000     0.003588   0.09381    
     0.3750     5.000        0.0000     0.002917   0.09573    
     0.5000     5.000        0.0000     0.003131   0.1016     
     0.6250     5.000        0.0000     0.001975   0.1116     
     0.7500     5.000        0.0000     0.001234   0.1257  
    .....
    ZONE T = "15.0    ", I = 81 , J = 81, F=POINT
     0.0000     5.000        0.0000     0.002865   0.09535    
     0.1250     5.000        0.0000     0.002133   0.09544    
     0.2500     5.000        0.0000     0.003588   0.09381    
     0.3750     5.000        0.0000     0.002917   0.09573    
     0.5000     5.000        0.0000     0.003131   0.1016     
     0.6250     5.000        0.0000     0.001975   0.1116     
     0.7500     5.000        0.0000     0.001234   0.1257  
    ....
    ZONE T = "100.0     ", I = 81 , J = 81, F=POINT
     0.0000     5.000        0.0000     0.002865   0.09535    
     0.1250     5.000        0.0000     0.002133   0.09544    
     0.2500     5.000        0.0000     0.003588   0.09381    
     0.3750     5.000        0.0000     0.002917   0.09573    
     0.5000     5.000        0.0000     0.003131   0.1016     
     0.6250     5.000        0.0000     0.001975   0.1116     
     0.7500     5.000        0.0000     0.001234   0.1257 
    .....
    Je voulais savoir comment je pourrais faire pour extraire uniquement les valeurs comprises dans la zone ZONE T = "15.0 ", I = 81 , J = 81, F=POINT

    Comme j'ai plusieurs zones le code de lecture du fichier globale est fait comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
          do kkk=1,999 ! boucle pour lire l'ensemble des zone
     
          Read(90,3,end=888) time,nx,nz
      3   format(11x,f10.0,6x,i4,5x,i3)
          nn=nx*nz             !I = 41, J = 5, K = 41,
     
          do k=1,nz
          do i=1,nx
          nd = (k-1)*nx + i
          read(90,*) x(nd),z(nd), nmoleF(nd), So(nd), Sw(nd)
          end do
          end do
     
    ...... je fais après quelques opérations
     
     888 continue
     
          end do
    Je souhaite écrire dans un autre fichier de la zone d'intéret (ZONE T = "15.0 ", I = 81 , J = 81, F=POINT) et c'est à ce niveau que j'ai un problème.

    Merci d'avance pour vos suggestions et votre aide

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 488
    Points : 593
    Points
    593
    Par défaut
    Bonjour,

    Lors de la lecture de ton fichier, tu fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
          Read(90,3,end=888) time,nx,nz
      3   format(11x,f10.0,6x,i4,5x,i3)
    Tu as donc accès à 'time', et il te suffit de rajouter un test sur cette valeur pour savoir quand tu es arrivé au cas (time=15) qui t'intéresse, et stocker l'indice correspondant à cet instant (nd+1) .

    Je souhaite écrire dans un autre fichier de la zone d'intéret (ZONE T = "15.0 ", I = 81 , J = 81, F=POINT) et c'est à ce niveau que j'ai un problème.
    Je ne vois pas quel est le problème; a priori il suffit simplement de reprendre la boucle de lecture, en remplaçant les lectures par des écritures.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2010
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Merci . Effectivement c'était pas si complexe que ca

    Merci encore

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

Discussions similaires

  1. Extraire des valeurs d'un fichier, help me !
    Par vincent1989 dans le forum R
    Réponses: 5
    Dernier message: 12/11/2012, 18h52
  2. Extraire des valeurs d'un fichier avec AWK
    Par Maillon dans le forum Linux
    Réponses: 2
    Dernier message: 05/02/2009, 22h49
  3. Extraire des valeurs d'un fichier txt
    Par boby35 dans le forum Octave
    Réponses: 5
    Dernier message: 16/04/2008, 12h05
  4. Réponses: 11
    Dernier message: 31/03/2008, 19h18
  5. Extraire des lignes d'un fichier en commande bash
    Par newnew dans le forum Linux
    Réponses: 3
    Dernier message: 27/07/2004, 16h22

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