Lire les données dans une colonne et écrire dans un tableau

Signaler
Messages postés
1
Date d'inscription
mardi 28 juillet 2020
Statut
Membre
Dernière intervention
30 juillet 2020
-
Bonjour chers tous,
S'il vous plait j'ai mon fichier de données sous une colonne structuré comme: de 1 à 33 j'ai les valeurs de x ensuite les bloques de 33 valeurs de f(x) (chaque bloque est numéroté par 05 entiers relatifs).
J' utilise fortran90 et je suis nouveau fortran. J'aimerais lire les valeurs de x et n'mporte quel f(x) et les écrire dans un tableau afin tracer la courbe. J'ai essayé et je n'obtiens aucun resultat.
<code></program table
implicit none
character*(*),parameter::filename = 'expansioncoefs.dat'
real(kind = 8),allocatable, dimension(:):: x
real(kind = 8), allocatable, dimension(:):: y
integer:: i,j,n
open(1, file='expansioncoefs.dat',status='unknown', action='read')
do i=1,n
if (n .le. 33) then
read(1,*) x(i)
endif
!enddo
!print*,x(i)
enddo

do j=35,n
if (n .le. 67 )then
!stop
read(1,*) y(j)
end if
!print*,y(j)
enddo
close(1)
allocate(x(0:n),y(0:n))
open(2, file = 'interpolate1.dat',status='unknown', action = 'write')

do i=1,n
do j=1,n
!deallocate(x(0:n),y(0:n))
write(*,*) x(i),y(j)
!write(2,"(f10.3,1x,e25.14)") x(i), y(j)
enddo
enddo
close(2)
!end
end program table>

Fichier data(echantillon):
4.000
4.250
4.500
4.750
5.000
5.250
5.500
5.750
6.000
6.250
6.500
6.750
7.000
7.250
7.500
7.750
8.000
8.250
8.500
8.750
9.000
9.250
9.500
9.750
10.000
10.250
10.500
10.750
11.000
11.250
11.500
11.750
12.000
0 0 0 0 0
0.55977887068214E-01
0.33301830925674E-01
0.19357033058574E-01
0.10851672673603E-01
0.57601109719013E-02
0.27793714306045E-02
0.10812628240276E-02
0.15097129824141E-03
-0.32616649818477E-03
-0.54065650568596E-03
-0.60723892717492E-03
-0.59463219747272E-03
-0.54352144592126E-03
-0.47743610751912E-03
-0.40939905472145E-03
-0.34605270924249E-03
-0.29025099403574E-03
-0.24269312486307E-03
-0.20294374360102E-03
-0.17005393420182E-03
-0.14292238222802E-03
-0.12048981961726E-03
-0.10182978503448E-03
-0.86178058019242E-04
-0.72928575326720E-04
-0.61613399268902E-04
-0.51877242408502E-04
-0.43452338487951E-04
-0.36136444117556E-04
-0.29774951350710E-04
-0.24247094860570E-04
-0.19455757052863E-04
-0.15320203216670E-04
0 0 1 0 1
-0.36741232178207E-01
-0.22980380651746E-01
-0.14289660523504E-01
-0.87248119186359E-02
-0.52165015737020E-02
-0.30442559592531E-02
-0.17187672278215E-02
-0.92034864768368E-03
-0.44665388594640E-03
-0.17180624691644E-03
-0.18029835246793E-04
0.62656319960734E-04
0.99836676728874E-04
0.11171390876218E-03
0.10943210935956E-03
0.99757700760475E-04
0.86750134905736E-04
0.72803446694530E-04
0.59292387637833E-04
0.46969693677009E-04
0.36207932127320E-04
0.27145815868709E-04
0.19777037041139E-04
0.14005279090632E-04
0.96796384761379E-05
0.66186600707396E-05
0.46274884107037E-05
0.35104872762797E-05
0.30805231563062E-05
0.31655489297527E-05
0.36128958849786E-05
0.42916155098686E-05
0.50932078733324E-05
...

Merci d'avance.