找回密码
 注册
Simdroid-非首页
查看: 231|回复: 3

[3. Fortran] 如何在fortran中读取数据文件(n x 2)啊?

[复制链接]
发表于 2006-9-3 22:04:25 | 显示全部楼层 |阅读模式 来自 广东广州
如何在fortran中读取数据文件(n x 2)啊?
有人知道么?
能否指导一下

初学fortran
还没看明白如何读取
并打算对读入的数据进行三次样条插值
以什么方式读取比较好呢?
多谢啦  
PS.问题很菜,版内查看过一些网友相关的帖子但是不是很明白,比如huahua网友的一个例子
因为很着急用,烦请大侠们给讲解一下:
      program main
        dimension a(10) 定义写入数据的维数?
        open(1,file='hua.txt',status='old')
      open(2,file='hua1.txt',status='new')
      read(1,100)
100  format(/) 读入一个数据之后即换行吗?
      do 1 i=1,10,2
      read(1,200)(a(j),j=i,i+1) ???
  1   write(2,200)(a(j),j=i,i+1)???
200  format(2x,2f14.3)          
      end
Thanks again...
 楼主| 发表于 2006-9-4 12:18:57 | 显示全部楼层 来自 广东广州

这个程序写的文件怎么是乱码啊?

Simdroid开发平台
大家帮个忙看看好吗
先谢过了

C    PROGRAM testdata  
  
      INTEGER i, j  
      REAL data(5, 3)  
  
      OPEN(1, FILE="testdata.dat", FORM="unformatted")  
      DO 100 j = 1, 3  
        DO 100 i = 1, 5  
          data(i,j) = ((j - 1) * 5) + (i - 1)  
          print *, data(i,j)  
100   CONTINUE  
      WRITE(1) data  
      END
发表于 2006-9-5 12:29:25 | 显示全部楼层 来自 江苏盐城
第一个程序是我很久以前的,已经不太记得了,该是为某个用途特地写的,我用的是FORTRAN77,看了一下可能是为要从某个文件中读特定几行数据而写的,第一个READ是为了跳过一、二行,下面的几个READ是依据文件而写的读入语句,并非通用。
你的第二个程序,只要把变量名改一下,即可运行。
       PROGRAM testdata
  
      INTEGER i, j  
      REAL data1(5, 3)  
  
      OPEN(1, FILE='testdata.dat')  
      DO 100 j = 1, 3  
        DO 100 i = 1, 5  
          data1(i,j) = ((j - 1) * 5) + (i - 1)  
          print *, data1(i,j)  
100   CONTINUE  
      WRITE(1,*) data1  
      END
 楼主| 发表于 2006-9-6 20:48:42 | 显示全部楼层 来自 西安交通大学

Thank you for you kind response!huahua2005

That really works fine.
谢谢咯
不过问题好像不在变量名而是open format中不应该含有unformatted,unformatted时写进去的内容始终未空,去掉之后内容就写进去了:)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-11-1 21:35 , Processed in 0.033675 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表