Datos en Fortran

Para lo que quieras: dudas, comentarios, videos, musica, noticias, chistes...

Moderator: Moderadores

Locked
Visitante2
Invitado
Posts: 517
Joined: 17 Nov 2003, 14:31

Datos en Fortran

Post by Visitante2 » 18 May 2006, 18:01

Como leer un fichero .dat con dos columnas de datos x y para ser aprovexado en un programa fortran.

User avatar
alex
Puto crack
Posts: 186
Joined: 17 Nov 2003, 14:31
Location: moratalla

Post by alex » 18 May 2006, 20:22

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
immer bis zum Sieg

User avatar
nesimo
Administrador GNUino
Posts: 1698
Joined: 17 Nov 2003, 14:31
Location: España
Contact:

Post by nesimo » 18 May 2006, 20:26

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
Lo importante es el contenido
Descubre La vida del enésimo

User avatar
nesimo
Administrador GNUino
Posts: 1698
Joined: 17 Nov 2003, 14:31
Location: España
Contact:

Post by nesimo » 18 May 2006, 20:28

Ultimamente coincido mucho con Alex... jejejeje
Lo importante es el contenido
Descubre La vida del enésimo

User avatar
ontureño
Administrador Linuxero
Posts: 727
Joined: 17 Nov 2003, 14:31
Location: Ontur
Contact:

Post by ontureño » 19 May 2006, 13:26

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
... ...
... ...
Image

User avatar
alex
Puto crack
Posts: 186
Joined: 17 Nov 2003, 14:31
Location: moratalla

Post by alex » 19 May 2006, 13:42

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:
immer bis zum Sieg

User avatar
nesimo
Administrador GNUino
Posts: 1698
Joined: 17 Nov 2003, 14:31
Location: España
Contact:

Post by nesimo » 19 May 2006, 17:52

Muy buena explicación. lo mio es algo más puramente práctico.. jejeje
Lo importante es el contenido
Descubre La vida del enésimo

Locked

Who is online

Users browsing this forum: No registered users and 10 guests