24小时热门版块排行榜    

查看: 2143  |  回复: 37

ljw4010

荣誉版主 (职业作家)

小木虫从头派教主

[求助] 急:求用Fortran或者其他语言编写一个程序,处理下面的数据!!!!!!!!!!

我现在在处理程序画图时很费劲,想对获得数据文件处理下,因为我没学过Fortran,自学了一下,但还是没解决,其他语言写的也可以,求助大神!


1.我的数据文件格式如下:
   T[K]              N                     DOS(Ef)                           S                     s/t               R_H                          kappa0                     c                     chi                     
   10.0000    -0.00088309  0.36829829E+01 -0.22021730E-03  0.26301947E+18 -0.79475299E-03  0.44466758E+11  0.18490799E-02  0.54983779E-10  
   20.0000     -0.00088309  0.26875931E+01 -0.90876783E-04  0.20008966E+18 -0.19857427E-04  0.68363230E+11  0.32057178E-02  0.40123462E-10  
   30.0000     -0.00088309  0.22924650E+01 -0.84664015E-04  0.16822569E+18 -0.83733589E-05  0.12349874E+12  0.56812697E-02  0.34224538E-10  
   40.0000     -0.00088309  0.21550792E+01 -0.98572721E-04  0.15610861E+18 -0.65840150E-05  0.18320424E+12  0.75723680E-02  0.32173486E-10  
   50.0000     -0.00088309  0.20689471E+01 -0.11499769E-03  0.15044739E+18 -0.61060992E-05  0.24851448E+12  0.91199376E-02  0.30887607E-10  
   60.0000     -0.00088309  0.19878188E+01 -0.13042206E-03  0.14698777E+18 -0.59478990E-05  0.32102167E+12  0.10595254E-01  0.29676431E-10  
   70.0000     -0.00088309  0.19072220E+01 -0.14418642E-03  0.14447949E+18 -0.58933740E-05  0.39984025E+12  0.12066150E-01  0.28473190E-10  
   80.0000     -0.00088309  0.18283895E+01 -0.15633123E-03  0.14246774E+18 -0.58795297E-05  0.48428944E+12  0.13542317E-01  0.27296288E-10  
   90.0000     -0.00088309  0.17522085E+01 -0.16711278E-03  0.14074025E+18 -0.58843546E-05  0.57466693E+12  0.15037461E-01  0.26158971E-10  

   10.0000     -0.00883088  0.84410600E+01 -0.11689296E-03  0.24789870E+19 -0.41920906E-06  0.38654460E+12  0.46876655E-02  0.12601779E-09  
   20.0000     -0.00883088  0.49614612E+01 -0.81871808E-04  0.14192156E+19 -0.65426762E-06  0.65286003E+12  0.87741598E-02  0.74070364E-10  
   30.0000     -0.00883088  0.46756154E+01 -0.55743996E-04  0.12778854E+19 -0.65291729E-06  0.97812153E+12  0.13236410E-01  0.69802931E-10  
   40.0000     -0.00883088  0.47012209E+01 -0.50147434E-04  0.12586296E+19 -0.64568125E-06  0.13259755E+13  0.17575579E-01  0.70185200E-10  
   50.0000     -0.00883088  0.47269535E+01 -0.51492758E-04  0.12561404E+19 -0.64100715E-06  0.16823697E+13  0.22066680E-01  0.70569365E-10  
   60.0000     -0.00883088  0.47408328E+01 -0.54860269E-04  0.12560297E+19 -0.63779752E-06  0.20366930E+13  0.26804368E-01  0.70776571E-10  
   70.0000     -0.00883088  0.47488656E+01 -0.58348815E-04  0.12551960E+19 -0.63559342E-06  0.23914729E+13  0.31943350E-01  0.70896493E-10  
   80.0000     -0.00883088  0.47576572E+01 -0.61496957E-04  0.12534166E+19 -0.63394892E-06  0.27522054E+13  0.37606365E-01  0.71027745E-10  
   90.0000     -0.00883088  0.47716152E+01 -0.64381860E-04  0.12511220E+19 -0.63256571E-06  0.31236204E+13  0.43859197E-01  0.71236126E-10  

   10.0000     -0.08830878  0.42141602E+02  0.87953597E-04  0.75126055E+19 -0.98769667E-07  0.23033392E+13  0.41537770E-01  0.62913800E-09  
   20.0000     -0.08830878  0.43692263E+02 -0.41588947E-05  0.82094250E+19 -0.82516579E-07  0.41555023E+13  0.80748205E-01  0.65228805E-09  
   30.0000     -0.08830878  0.44663624E+02 -0.21504742E-04  0.82540992E+19 -0.79165706E-07  0.55733828E+13  0.12447749E+00  0.66678964E-09  
   40.0000     -0.08830878  0.45312345E+02 -0.27007473E-04  0.80589511E+19 -0.79127587E-07  0.75597431E+13  0.17202093E+00  0.67647448E-09  
   50.0000     -0.08830878  0.45883812E+02 -0.29833271E-04  0.79234737E+19 -0.79037621E-07  0.99651412E+13  0.22031734E+00  0.68500600E-09  
   60.0000     -0.08830878  0.46378068E+02 -0.31377720E-04  0.78728970E+19 -0.78450172E-07  0.12484013E+14  0.26638841E+00  0.69238480E-09  
   70.0000     -0.08830878  0.46754191E+02 -0.32326518E-04  0.78761793E+19 -0.77551438E-07  0.14973971E+14  0.30934617E+00  0.69800000E-09  
   80.0000     -0.08830878  0.46993506E+02 -0.33260061E-04  0.79047459E+19 -0.76560603E-07  0.17417591E+14  0.34962559E+00  0.70157277E-09  
   90.0000     -0.08830878  0.47101837E+02 -0.34544692E-04  0.79414153E+19 -0.75615674E-07  0.19845552E+14  0.38805026E+00  0.70319006E-09  

2.我需要提取第1列和第4列的数据,并将第四列数据乘以10的6次方

3.以中间的空行为分割线,将每个分割后区域数据 依次输出到 1.txt 、 2.txt、3.txt(数据多的话,可能更多块,更多)

4.分割后的数据格式大致这样:
   1.txt为例:
      T[K]                   S  
   10.0000      -0.22021730E-03
   20.0000     -0.90876783E-04
   30.0000    -0.84664015E-04
   40.0000      -0.98572721E-04
   50.0000     -0.11499769E-03
   60.0000      -0.13042206E-03
   70.0000     -0.14418642E-03
   80.0000      -0.15633123E-03
   90.0000      -0.16711278E-03  

5.数据附件如下:
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : case.trace_fixdoping
  • 2014-08-10 18:37:44, 60.69 K

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

不要说话
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

jpchou

专家顾问 (著名写手)

Shell Script + AWK

1.??????????????????(case.trace_fixdoping)

2.??????????1?к??4?е???????????????????????10??6?η?
> awk   '{print $1,$4}'   case.trace_fixdoping                ?????1?к??4?е?????
   awk   '{print $1,$4*1000000}'   case.trace_fixdoping  ?????????????10??6?η?

3.???м????????????????????????????? ????????? 1.txt ?? 2.txt??3.txt??????????????????飬????
> ????
awk '{if($1<800){print $1,$4 >> n".txt"} if($1==800){print $1,$4 >> n".txt"; n=n+1}}' case.trace_fixdoping
      
???????M?Y?????? T=10 ~ T=800
????? awk ??y????????Y?????? 800 ????????????n??
???? question 2
=>
awk '{if($1<800){print $1,$4*1000000 >> n".txt"}
       if($1==800){print $1,$4*1000000 >> n".txt"; n=n+1}}' case.trace_fixdoping




???????
awk '{if($1<800){printf ("%s  %15.8f\n", $1,$4*1000000) >> n".txt"}
       if($1==800){print ("%s  %15.8f\n",  $1,$4*1000000) >> n".txt"; n=n+1}}' case.trace_fixdoping

15.8f ??? ???? 15 λ????С???c???@????? 8 λ
??g???W??????????
???? 15.8e ?????

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

21楼2014-08-11 20:40:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jjdg

版主 (知名作家)

优秀版主

【答案】应助回帖


感谢参与,应助指数 +1
ljw4010: 金币+1, 有帮助 2014-08-11 15:31:54
这个简单啊
你把文件后缀名改为txt,然后用Excel打开,把你要的数据直接复制粘贴出来即可

急:求用Fortran或者其他语言编写一个程序,处理下面的数据!!!!!!!!!!
努力学习!以正当途径!获得需要的知识!
5楼2014-08-10 23:02:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangxnt

银虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
ljw4010: 金币+40, ★★★很有帮助, 很满意了! 2014-08-11 18:02:25
可执行文件(把你的数据文件复制到dist目录下,运行plot_case.exe即可):
http://pan.baidu.com/s/1eQmsNJ0
源代码:
http://pan.baidu.com/s/1bnChxFp

我也是新手,写的很粗糙,有问题给我留言
18楼2014-08-11 16:32:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangxnt

银虫 (小有名气)

引用回帖:
33楼: Originally posted by ljw4010 at 2014-08-12 14:43:58
还有文件名也改下把,太长了不好输入,改成case.txt好吧,多谢了...

文件名你随便输入,只要和你要处理的文件一致就OK

另外,我设置了一个默认的文件名:case.trace_fixdoping
在程序提示你输入文件名的时候,直接回车即可激活默认

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

35楼2014-08-12 14:57:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sxf2012

木虫 (正式写手)


ljw4010: 回帖置顶 2014-09-29 16:35:10
CODE:
program main
implicit none
integer :: i,k,ok
real :: t1,x,y,s
character*10 :: form
open(11,file='casess',iostat=ok)
    i = 1
    read(11,*,iostat=ok)
do while (ok == 0)
    write(form,'(I4)')i
    open(12,file=trim(form)//'.txt')
    write(12,*)'          T[k]    ','            S'
    do k=1,80
        read(11,*,iostat=ok)t1,x,y,s
        write(12,'(<2>E19.8)')t1,s*1.0D+6
    enddo
    close(12)
    i = i + 1
    read(11,*,iostat=ok)
enddo
end program main

输入文件名:casess,可以按照需要修改

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

37楼2014-08-13 11:02:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

ljw4010

荣誉版主 (职业作家)

小木虫从头派教主

大神求助!
不要说话
2楼2014-08-10 21:58:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

埃尔多安

银虫 (正式写手)

你这什么格式的文件啊,我怎么打不开呢?
续。
3楼2014-08-10 22:14:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ljw4010

荣誉版主 (职业作家)

小木虫从头派教主

引用回帖:
3楼: Originally posted by 埃尔多安 at 2014-08-10 22:14:57
你这什么格式的文件啊,我怎么打不开呢?

里面是文本数据,用文本编辑器打开就行

[ 发自小木虫客户端 ]
不要说话
4楼2014-08-10 22:18:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ljw4010

荣誉版主 (职业作家)

小木虫从头派教主

引用回帖:
5楼: Originally posted by jjdg at 2014-08-10 23:02:45
这个简单啊
你把文件后缀名改为txt,然后用Excel打开,把你要的数据直接复制粘贴出来即可

嗯,这个可以,但是我要作图的,要对每个区域块作图,数据多了要复制很多遍,还要设置图例,很麻烦!想直接把区域块直接一次性导出来,再一次性导入画图软件就简单多了!

[ 发自小木虫客户端 ]
不要说话
6楼2014-08-10 23:30:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hc315

铁虫 (小有名气)

引用回帖:
4楼: Originally posted by ljw4010 at 2014-08-10 22:18:45
里面是文本数据,用文本编辑器打开就行
...

T[K]             S
10        -220.217300000000
20        -90.8767830000000
30        -84.6640150000000
40        -98.5727210000000
50        -114.997690000000
60        -130.422060000000
70        -144.186420000000
80        -156.331230000000
90        -167.112780000000



T[K]             S
10        -116.892960000000
20        -81.8718080000000
30        -55.7439960000000
40        -50.1474340000000
50        -51.4927580000000
60        -54.8602690000000
70        -58.3488150000000
80        -61.4969570000000
90        -64.3818600000000




T[K]             S
10        87.9535970000000
20        -4.15889470000000
30        -21.5047420000000
40        -27.0074730000000
50        -29.8332710000000
60        -31.3777200000000
70        -32.3265180000000
80        -33.2600610000000
90        -34.5446920000000
7楼2014-08-11 01:05:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ljw4010

荣誉版主 (职业作家)

小木虫从头派教主

引用回帖:
7楼: Originally posted by hc315 at 2014-08-11 01:05:54
T             S
10        -220.217300000000
20        -90.8767830000000
30        -84.6640150000000
40        -98.5727210000000
50        -114.997690000000
60        -130.422060000000
70        -144.186420000000
80        -156.331230000000
90        -1 ...

有代码么,我有很多这样的数据要处理

[ 发自小木虫客户端 ]
不要说话
8楼2014-08-11 07:08:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ljw4010

荣誉版主 (职业作家)

小木虫从头派教主

木有高手么?
不要说话
9楼2014-08-11 09:02:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magicmonk

至尊木虫 (著名写手)

引用回帖:
9楼: Originally posted by ljw4010 at 2014-08-11 09:02:27
木有高手么?

加到100个金币,保准有人帮你写
我们最深的恐惧不是我们能力不够,我们最深的恐惧是能力超越了极限。
10楼2014-08-11 09:20:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ljw4010 的主题更新
信息提示
请填处理意见