i Foros de Fisimur • Datos en Fortran
Page 1 of 1

Datos en Fortran

Posted: 18 May 2006, 18:01
by Visitante2
Como leer un fichero .dat con dos columnas de datos x y para ser aprovexado en un programa fortran.

Posted: 18 May 2006, 20:22
by alex
no lo recuerdo muy bien, pero es algo así

dimension x[0:n]
dimension y[0:n]

n=numero de datos

y luego que lo lea

open(1,file=nombrearchivo.dat,status=unknown)
do i=0,n


read(1, file='nombrearchivo.dat,x,y,status=unknown)

end do

será algo así

un saludo

Posted: 18 May 2006, 20:26
by nesimo
he estado viendo archivos mios y ya ni me acuerdo de como se hacía eso... sé que algo como lo que estás pidiendo no era complicado. A ver si doy un poco con el tema.. jejeje

Code: Select all

*Si queremos aprovechar 30 lineas:
PARAMETER(DIM=30)
DIMENSION x(DIM), x(DIM)

*Abrir fichero
OPEN(10, FILE='FILE.DAT', STATUS='OLD')

/*Leer datos del fichero. Si hubiera una linea inutil hariamos un READ(10,*) sin más
DO J=1,DIM
        READ(10, *) (x[j], y[j])
ENDDO

*cerrar fichero
CLOSE(10)

Con DIM el número de medidas

Posted: 18 May 2006, 20:28
by nesimo
Ultimamente coincido mucho con Alex... jejejeje

Posted: 19 May 2006, 13:26
by ontureño
Yo lo hago de la siguiente manerera:

Si el archivo es algo como
archivo.dat wrote: 12.4 12125.1
11.4 123154
10.0 -12215
... ...
... ...
Se crea la unidad

Code: Select all

open(10,file='archivo.dat')
Y si las variables se llaman x e y, se usa

Code: Select all

read(10,*)x,y
Si estás metiendo las variables en un array, pues con un bucle do:

Code: Select all

open(10,file='archivo.dat')
do i=1,n
  read(10,*)x(i),y(i)
enddo
close(10)
antes tienes que haber definido n, que lo puedes hacer incluyéndolo en el archivo de datos, al principio, y leerlo fuera del bucle:

Code: Select all

open(10,file='archivo.dat')
read(10,*)n
do i=1,n
  read(10,*)x(i),y(i)
enddo
close(10)
donde ahora, la pinta que tiene el archivo es
archivo.dat wrote: 13 esto son el número de parejas de datos
12.4 12125.1
11.4 123154
10.0 -12215
... ...
... ...

Posted: 19 May 2006, 13:42
by alex
muy bien, ahora coges una coctelera, metes la CPU, un disket con fortran y gnuplot y lo que te hemos dicho y podrás resolver cualquier cosa
:meparto:

Posted: 19 May 2006, 17:52
by nesimo
Muy buena explicación. lo mio es algo más puramente práctico.. jejeje