escribir en formato array en fortran
Intento escribir un archivo de salida.dat con unnxn formato de matriz.
Escribo el código pero la salida es una columna de valor f.
Ahora el problema es: ¿cómo puedo cambiar el formato de salida del archivo para escribir?
desde: 1 2 4 5 ...
a: 1,2,3,4 // 5,6,8, .. //
program eccen
implicit none
integer, parameter:: grid=800
integer::i,j,k,n,m
real*8,allocatable::f(:,:)
real*8::xx(grid),yy(grid),mval,Mxval
real*8,allocatable::x(:),y(:)
open(10,file='3d_disk.txt')
n=0
DO
READ(10,*,END=100)
n=n+1
END DO
100 continue
rewind(10)
allocate(x(n),y(n))
do i=1, n
read(10,*) x(i),y(i)
end do
mval=-20.
Mxval=20.
do i=1, grid
xx(i) = mval + ((Mxval - mval)*(i-1))/(grid-1)
yy(i) = mval + ((Mxval - mval)*(i-1))/(grid-1)
end do
open(20,file='3d_map.dat')
allocate(f(n,n))
f=0
do i=1,grid
do j=1,grid
m=0.
do k=1, n
if (x(k) > xx(i) .and. x(k) < xx(i+1) .and. &
& y(k) > yy(j) .and. y(k) < yy(j+1)) then
m=m+1 ! CONTA IL NUMERO DI PARTICELLE
end if
end do
f(i,j)=float(m+1)
Pienso que la modificación debe estar aquí de esto:
write(20,*) f(i,j)
end do
write(20,*)
print *,i
end do
end program eccen
a:
do i=1,grid
do j=1,grid
write(20,*) f(i,j)
end do
end do
end do
write(20,*)
print *,i
end do
end program eccen