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 :

[Fortran 77] Lecture d'une matrice à partir d'un fichier data


Sujet :

Fortran

  1. #1
    Débutant
    Inscrit en
    Juillet 2007
    Messages
    386
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 386
    Points : 119
    Points
    119
    Par défaut [Fortran 77] Lecture d'une matrice à partir d'un fichier data
    Bonjour,
    si j'ai un fichier data qui contient 3 colonnes : la première, c'est (i*h) qui représente la discrétisation de l'axe des x, la deuxieme c'est (j*h) qui représente la discrétisation de l'axe des y, et la troisième c'est A(i,j) qui représente la matrice d'une courbe donnée.

    Ma question est : si je veux réutiliser la matrice A(i,j) dans un programme f77 donné, comment je la lis à partir de ce fichier .dat ?
    Merci

  2. #2
    Membre éclairé Avatar de genteur slayer
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2002
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2002
    Messages : 710
    Points : 825
    Points
    825
    Par défaut
    est_ce que tu as autant de lignes sur chaque colonne, parce que si c ça c'est trrop facil...

    cela dit si c'est des nombre différent...

    bon je suppose que ton fichier c'est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ...
    i j-1   A(i,j-1)
    i j      A(i,j)
    i j+1   A(i,j+1)
    ...
    i+1 j  A(i+1,j)
    et bien tu fait un read tout bete:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    do i=1,Nx
      do j=1,NY
        read(11,*)x(i),y(j),A(i,j)
      end do
    end do
    les x et y seront lus plusieur fois mais en principe ces valeurs seront les même, sinon il faut les indicer en i,j

  3. #3
    Débutant
    Inscrit en
    Juillet 2007
    Messages
    386
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 386
    Points : 119
    Points
    119
    Par défaut
    pour ta premiere question oui,

  4. #4
    Débutant
    Inscrit en
    Juillet 2007
    Messages
    386
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 386
    Points : 119
    Points
    119
    Par défaut
    c est a dire je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    program erreur
    integer i,j,N
    real A(0:N,0:N),x(0:N),y(0:N)
    open(1,file='s.dat',status='unknown')
    do i=0,N
          do j=0,N
               read(1,*) x(i),y(j),A(i,j)
           enddo
    enddo
    ?

  5. #5
    Membre éclairé Avatar de genteur slayer
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2002
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2002
    Messages : 710
    Points : 825
    Points
    825
    Par défaut
    en plus tu as autan de ligne que de colonne??? lol

    sinon, bin cela dépend fortement de comment est écrit ton fichier dat...

    mais c'est ça l'idée, oui!

  6. #6
    Débutant
    Inscrit en
    Juillet 2007
    Messages
    386
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 386
    Points : 119
    Points
    119
    Par défaut
    et ensuite je met close(1)?
    sinon, comment je quites du fichier 1?

  7. #7
    Membre éclairé Avatar de genteur slayer
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2002
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2002
    Messages : 710
    Points : 825
    Points
    825
    Par défaut
    heu oui, évidement...
    je te conseil aussi de mettre 'old' au lieu de 'unknown' dans le open: comme on veuit le lire, c'est qu'il existe déjà...

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/02/2009, 16h20
  2. créer une matrice à partir d'un fichier
    Par dododawn dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 22/11/2008, 23h02
  3. Réponses: 2
    Dernier message: 16/11/2008, 16h09
  4. [Débutant] Créer une matrice à partir d'un fichier .txt
    Par niepoc dans le forum MATLAB
    Réponses: 6
    Dernier message: 03/05/2008, 22h40
  5. Réponses: 5
    Dernier message: 05/04/2008, 12h49

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