Bonjour chers tous,

Je suis nous en programmation et j'utilise Fortran90. J'ai mon fichier de données sous une seule colonne comme suit: de 1 à 33 j'ai les valeurs de x ensuite les bloques de 33 valeurs de f(x) (chaque bloque de f(x) est indexé par 05 entiers relatifs sur une seule ligne). J'aimerais chaque lire les valeurs de x et n'importe f(x) et les écrire dans un table afin de tracer la courbe. J'ai essayé d'écrire un programme malheureusement il ne marche pas raison pour laquelle je sollicite votre aide.
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
29
30
31
32
33
34
35
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

    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.