爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 20840|回复: 18

[求助] fortran对多个文件多数据的处理

[复制链接]

新浪微博达人勋

发表于 2012-10-2 10:05:39 | 显示全部楼层 |阅读模式
15金钱
我希望我可以将问题讲明白一些,希望大家可以帮助:
(1)我有36个文件,每个文件里面都是6万多个数据;
(2)需要完成的操作是:每次从36个文件的相同位置提取去一个数据,比如这36个文件的第一个数据,然后提取出这36个数据进行相关运算,然后将结果保存;接着处理36个文件中的第二个数据,仍旧是36个,依次处理完,最终仍旧得到的为6万多个数据,因为这么大的数据量只能通过编程来实现。

最佳答案

查看完整内容

如果是我的话,我会将36个文件的数据全写到一个2维数组来算,例如data(36,,60000),36表示36列,60000表示60000行,“每次从36个文件的相同位置提取去一个数据,比如这36个文件的第一个数据”就是提取data(1,1)~data(36,1);“接着处理36个文件中的第二个数据”就是提取data(1,2)~data(36,2)以此类推。至于你做什么类型的相关系数看你自己的了,我应该没理解错你的意思,不知道你看不看得懂
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-10-2 10:05:40 | 显示全部楼层
如果是我的话,我会将36个文件的数据全写到一个2维数组来算,例如data(36,,60000),36表示36列,60000表示60000行,“每次从36个文件的相同位置提取去一个数据,比如这36个文件的第一个数据”就是提取data(1,1)~data(36,1);“接着处理36个文件中的第二个数据”就是提取data(1,2)~data(36,2)以此类推。至于你做什么类型的相关系数看你自己的了,我应该没理解错你的意思,不知道你看不看得懂
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

0
早起挑战累计收入
发表于 2012-10-2 10:08:45 | 显示全部楼层
那就编程实现吧,自己先做,不能指望别人帮你写好啊,可以给你参考资料,你找找有个批量处理的帖子
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2012-10-2 10:13:11 | 显示全部楼层

我自己做了,我能够读出批量处理的文件,不过我只能处理第一个,第二个我就不知道该怎么做了,我将我写的程序贴出来,希望大家帮我改进一下。
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2012-10-2 10:14:41 | 显示全部楼层
自己写的简单程序,不知道该怎么下手,希望高手稍微指点一下,谢谢。     
Program Secular_Variation  
      implicit none
      integer ::stat1
      real*8 ::ewh  !data
      character(11) ::filename
   
       open(13,file="name.txt")  !The name of input file
       open(14,file="result.txt",status="replace") !The name of output file
           
      do
         read(13,"(A11)",iostat=stat1) filename
             if(stat1/=0) exit
             open(15,file=filename)
                 read(15,"(f15.7)") ewh
                 write(14,"(f15.7)") ewh
              close(15)
      enddo
         
    End program Secular_Variation
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

0
早起挑战累计收入
发表于 2012-10-2 10:18:17 | 显示全部楼层
不知道怎么做就看别人怎么做的,论坛上有现成的教程,多在论坛搜索,善于利用现有的东西举一反三,没人天生就会的啊,都是看别人的经验学的
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2012-10-2 10:19:34 | 显示全部楼层
mofangbao 发表于 2012-10-2 10:18
不知道怎么做就看别人怎么做的,论坛上有现成的教程,多在论坛搜索,善于利用现有的东西举一反三,没人天生 ...

管理员说的很有道理,谢谢,节日快乐
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2012-10-2 16:02:53 | 显示全部楼层
嗯,算是比较的理解了,用数据,我之前想的比较多的就是一维数组,因为感觉二维数组可能计算量比较大
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2012-10-2 16:09:25 | 显示全部楼层
刻于新月之铭 发表于 2012-10-2 13:29
如果是我的话,我会将36个文件的数据全写到一个2维数组来算,例如data(36,,60000),36表示36列,60000表 ...

我尝试一下
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 成长值: 0
发表于 2012-10-3 08:17:22 | 显示全部楼层
数组的定义和读取方式不对在定义的时候就定义为数组,然后按需读取,先学会将单个文件准确读取吧···批处理你的方案是可行的,但是程序12行建议不要这么写,尽量自己给定行数。
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

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