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
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
Salut!
C'est quoi, un tableau qui calcule?un tableau (1d) qui calcul une fonction
Est-il bien judicieux d'utiliser les lettres i et j pour les indices lorsqu'on travaille avec des nombres complexes?f(i*h+ii*h*j) (h=0.1,i=-M,M, j=-M,M)
Certainement oui.est ce que c est possible en fortran?
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:
Jean-Marc Blanc
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 ...
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)
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?
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:
quelquechose de ce genre (indices à vérifier etc...)
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 )
sinon, sans passer par les fichier:
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
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
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!!!
mon indice ii c et le complexe ii=cmplx(0.,1.)
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)tu stoque ton f genre :
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?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager