24小时热门版块排行榜    

查看: 1253  |  回复: 26

jiangxingge

金虫 (正式写手)

【答案】应助回帖

我觉得你的技术思路是可行的。
1,遍历所有文件的 问题。为了在FORTRAN中遍历,可以利用 SYSTEM 子程序 (可查看CVF帮助)
    由于你已知 236-242的文件夹名字,所以,可以建立一个数组,并把这些名字预先赋值(或者写在一个文本中再读取)
   character*200 pathname(7)
data pathname/'d:\DATA_HAV\236\','d:\DATA_HAV\237\',。。。。'd:\DATA_HAV\242\'

对 7天进行循环
循环中 ,首先提取这一天的 文件列表
   call sysytem(' DIR '//pathname(i)(1:16)//'*.hav   > a.txt') ! 16 是pathname中字符的长度
注意 :这句话 产生了 一个 a.txt 的文件 ,文件的 内容 像下面的样子
驱动器 D 中的卷没有标签。
卷的序列号是 0004-5856

d:\data_hav\242 的目录

2015/01/29  09:41             4,316 chdu2370.hav
2015/01/29  09:41             4,316 gua12370.hav
               2 个文件          8,632 字节
               0 个目录 85,285,617,664 可用字节

然后 你读取 这个文件,就可以 得知 这一天的 所有文件名,当然也知道 这一天 有几个文件。于是 就可以对每一个 文件进行操作。
11楼2015-06-05 15:36:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jiangxingge

金虫 (正式写手)

【答案】应助回帖

2,关于内部数组的 问题。根据你提供的数据,实际上 有几天,每天有几个文件,对于数组是 没有影响的 ,因为 你只是求平均而已,不管几个文件,平均结果 是一个。数组跟每一个文件中的 内容有关,比如 G01-G32,还有 C01-C32,要对每一个需要计算的 准备数组。
建议 建立二位数组,一个维度就是 32,一个就是 针对 GCRE 4个,由于计算平均值,所以需要 一个数加总和,一个数记个数
dimension SV(32,4),NV(32,4)
然后读取每一个文件,每次剔除不需要(无法)计算的,把需要计算的 加起来,个数也记住。到全部结束,除一下得到平均值。 如果需要其他计算,也是 类似的思路,只不过多开几个数组而已。
12楼2015-06-05 15:45:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jiangxingge

金虫 (正式写手)

【答案】应助回帖

这个思路是可以做到的。但是程序有点繁。
但是由于你说“这是一个大循环里面的一部分,是在Fortran下面编的,”
所以 只好这样做。

» 本帖已获得的红花(最新10朵)

13楼2015-06-05 15:51:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

me_yu

木虫 (正式写手)

【答案】应助回帖

python2.7.6 脚本实现,看下是否符合你的需求,百度盘连接如下:
链接: http://pan.baidu.com/s/1jGH1KiE 密码: q3c9

» 本帖已获得的红花(最新10朵)

听,寂静的夜里,田野里蛙声和虫鸣,好不欢快!
14楼2015-06-05 20:32:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qingkonggzc

银虫 (小有名气)

送红花一朵
引用回帖:
14楼: Originally posted by me_yu at 2015-06-05 20:32:59
python2.7.6 脚本实现,看下是否符合你的需求,百度盘连接如下:
链接: http://pan.baidu.com/s/1jGH1KiE 密码: q3c9

你好,非常感谢你,之前没接触过Python,我先下载研究一下这个软件,然后再向你请教。还有请问这个能嵌入到Fortran里面嘛?
15楼2015-06-06 11:17:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qingkonggzc

银虫 (小有名气)

送红花一朵
引用回帖:
13楼: Originally posted by jiangxingge at 2015-06-05 15:51:00
这个思路是可以做到的。但是程序有点繁。
但是由于你说“这是一个大循环里面的一部分,是在Fortran下面编的,”
所以 只好这样做。

你好,非常感谢,我那个思路也是自己能想到的一种方法,但是觉得实现起来对我这个菜鸟来说太难了,所以想请教有没有其他的思路教我一下的,不是非要局限在我的那个基础上,因为我前面的程序是在Fortran里面编的,而之前又只会MATLAB,所以自己也就只能在这一亩三分地里面想想,你们这些大神接触的东西比较多,这个问题要是到你们手里肯定解决起来很简单,所以你们要是有什么好的解决方法的话,还望教教俺啊,非常感谢
16楼2015-06-06 11:22:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

me_yu

木虫 (正式写手)

【答案】应助回帖

引用回帖:
15楼: Originally posted by qingkonggzc at 2015-06-06 11:17:04
你好,非常感谢你,之前没接触过Python,我先下载研究一下这个软件,然后再向你请教。还有请问这个能嵌入到Fortran里面嘛?...

Fortran 我没接触过呢,如果看懂思路,转换一下编程语言没问题的
听,寂静的夜里,田野里蛙声和虫鸣,好不欢快!
17楼2015-06-06 11:23:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qingkonggzc

银虫 (小有名气)

引用回帖:
17楼: Originally posted by me_yu at 2015-06-06 11:23:53
Fortran 我没接触过呢,如果看懂思路,转换一下编程语言没问题的...

恩,好的,我先看一下python,有问题再向你请教啊,非常感谢啦
18楼2015-06-06 11:32:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qingkonggzc

银虫 (小有名气)

引用回帖:
17楼: Originally posted by me_yu at 2015-06-06 11:23:53
Fortran 我没接触过呢,如果看懂思路,转换一下编程语言没问题的...

对了,我这个是在Windows下面编写的,你这个python脚本编写的是在什么系统下写的啊,我回头还要再把它放到Linux下运行,这样会不会出问题啊?
19楼2015-06-06 11:34:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

me_yu

木虫 (正式写手)

【答案】应助回帖

引用回帖:
19楼: Originally posted by qingkonggzc at 2015-06-06 11:34:17
对了,我这个是在Windows下面编写的,你这个python脚本编写的是在什么系统下写的啊,我回头还要再把它放到Linux下运行,这样会不会出问题啊?...

嗯,win7 下 python 2.7.6 写的脚本
Linux 下应该也能运行的,python 跨平台的

» 本帖已获得的红花(最新10朵)

听,寂静的夜里,田野里蛙声和虫鸣,好不欢快!
20楼2015-06-06 11:50:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 qingkonggzc 的主题更新
信息提示
请填处理意见