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 :

Passage d'un tableau 1d à un tableau 2d


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 Passage d'un tableau 1d à un tableau 2d
    Bonjour,
    j ai un tableau (1d) qui calcul une fonction complexe f(i*h+ii*h*j) (h=0.1,i=-M,M, j=-M,M) mais j ai obtnu un tableau 1d, je veux la transformer en un tableau 2d , est ce que c est possible en fortran?
    merci

  2. #2
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    un tableau (1d) qui calcul une fonction
    C'est quoi, un tableau qui calcule?

    f(i*h+ii*h*j) (h=0.1,i=-M,M, j=-M,M)
    Est-il bien judicieux d'utiliser les lettres i et j pour les indices lorsqu'on travaille avec des nombres complexes?

    est ce que c est possible en fortran?
    Certainement oui.

    Alors, je reformule ta question, car je ne suis pas sûr de l'avoir bien comprise:

    Tu as une fonction qui prend 3 arguments, le premier H étant un pas (réel), et les deux autres, I1 et I2 étant des entiers. Tu veux construire un tableau à 2 indices I1 et I2, allant chacun de -M à +M dans lequel tu stockeras les valeurs de ta fonction correspondant aux indices.

    Alors, essaie ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
          Implicit None
          Real*8 H
          Integer I1,I2,M
          Complex*16,Allocatable :: Tableau(:,:)
            ...
          Allocate Tableau(-M:+M,-M:+M)
          Do I1=-M,+M
            Do I2=-M,+M
              Tableau(I1,I2)=TaFonction(H,I1,I2)
            End Do
          End Do
            ...
    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  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
    C est vrai , tu n as tres bien compris ce que je veux, je reformule,
    je veux calculer une matrice T(-M:M-1,-M:M-1) tel que T(i,j)=f(i*h+ii*h*j), avec f est une fonction de C a valeurs dans C (elle est calculee par le logiciel freefem). Malheuesement, freefem ne peut donner des matrices a indices negatives, pour cela j ai calcule' T(i,j) sous forme d un tableau 1d avec freefem, maintenant je doit utiliser ce tableau dans un autre programme sur fortran 77, mais je le veux sous forme matricielle,
    Ce tableau est stoker dans un fichier de type .dat
    Alors comment je le passes en fortran , et comment le transformer sous forme matricielle en fortran?
    est ce que c est claire?

  4. #4
    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
    ton indice "ii" c'est la taille en "x" un truc comme ça?

    car si c'est le cas c'est pas très compliqué:
    tu stoque ton f genre :
    [CODE]write (11, '(5E15.7)') ((f(i*h+ii*j*h),i =1,2*M ),j=1,2*M)/CODE]
    et tu le lit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    read (12, '(5E15.7)') (( T(i,j)  , i = -M,M-1  ), j = -M, M-1  )
    quelquechose de ce genre (indices à vérifier etc...)

    sinon, sans passer par les fichier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    do i=-M,M
      do j=-M,M
         t(i,j)=f(i*h+ii*h*j)
      end do
    end do
    je dois pas bien saisir ta question car si c'est seulement de passer d'un tableau 1indice à deux indice c'est pas dur surtout si tu connais la taille

    de toute manière: FORTRAN STOCKE EN COLONNES (i.e. en mémoire les tableau n'existent pas, y a que des tableaux 1D)
    il n'y a que ceux qui savent qui ne savent pas qu'ils savent...
    Libere-toi hacker, GNU's Not Unix!!!

  5. #5
    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
    Citation Envoyé par genteur slayer Voir le message
    ton indice "ii" c'est la taille en "x" un truc comme ça?
    mon indice ii c et le complexe ii=cmplx(0.,1.)
    tu stoque ton f genre :
    Ma fonction f n est pas une fonction classique et elle n est pas calculee sur f77, elle est une integrale mais calculee sur freefem (autre logiciel)
    J ai calulee A(i,j)=f(i*h+ii*h*j) sous freefem et j ai la stoke dans un fichier de type .dat mais 1d . Maintenant la deuxieme etape c est de passer au f77, mais j ai besoin de A(i,j) sous forme 2d. est ce que c est claire?

Discussions similaires

  1. Passage d'une struct contenant un tableau d'une DLL vers C#
    Par morgan_2956 dans le forum C++/CLI
    Réponses: 2
    Dernier message: 03/02/2010, 09h11
  2. Servlet-JSP passage de données sous forme de tableau
    Par Kpone dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 23/04/2009, 13h31
  3. passage par parametre d'un double tableau
    Par nakac dans le forum C
    Réponses: 2
    Dernier message: 21/12/2008, 03h27
  4. Réponses: 6
    Dernier message: 08/12/2008, 13h17
  5. [Tableau] Caster un tableau entier
    Par romainw dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 30/03/2005, 08h49

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