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
Merci d'avance.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
Partager