Fortran Coder

查看: 18031|回复: 11
打印 上一主题 下一主题

[输入输出] 在循环语句中分别计算上千次,需要将数据输出到文本文...

[复制链接]

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

楼主
发表于 2019-11-10 10:35:44 | 显示全部楼层
注意 !/////======= 注释的行
[Fortran] 纯文本查看 复制代码
IMPLICIT NONE 
        REAL*8 N1,N2,MU1,MU2,EPS1,EPS2
        REAL*8 ETA1,ETA2,C11,C12,C21,C22
        REAL*8 LAM,D,PI,C,OME
      REAL*8 K1,K2
        REAL*8 R,T,A
        COMPLEX*16 i,B11,B12,B21,B22,T11,T12,T21,T22
        PARAMETER(PI=3.14159D0)
        PARAMETER(C=3.99792D8)
        N1=1.00D0
      N2=1.50D0
      MU1=1.00D0
      MU2=1.00D0
        i=(0,1)
        EPS1=(N1)**2
        EPS2=(N2)**2
        ETA1=DSQRT(EPS1/MU1)*N1
        ETA2=DSQRT(EPS2/MU2)*N2
        C11=(ETA1+ETA2)/(2*ETA1)
        C12=(ETA1-ETA2)/(2*ETA1)
        C21=(ETA1-ETA2)/(2*ETA1)
      C22=(ETA1+ETA2)/(2*ETA1)
      LAM=3.00D-7
      open(12,file='out.txt')!/////=======
        DO LAM = 3.00D-7,12.00D-7,0.01D-7
                D=2.00D-7
          OME=2*PI*C/LAM
                K1=(OME*N1)/C
                K2=(OME*N2)/C
                B11=CDEXP(i*K1*D)*DEXP(-K2*D)
                B12=(0,0)
                B21=(0,0)
                B22=CDEXP(-i*K1*D)*DEXP(K2*D)
                T11=C11*B11+C12*B21
                T12=C11*B12+C12*B22
                T21=C21*B11+C22*B21
                T22=C21*B12+C22*B22
                R=(CDABS(-T12/T22))**2
                T=(CDABS(T11-(T12*T21)/T22))**2
                A=1-R-T
        WRITE(12,100)R,T,A !/////=======
100        FORMAT(1X,F8.3,2X,F8.3,2X,F8.3)
      END DO
      close(12) !/////=======
        WRITE(*,*)'FINISH'
        END

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

沙发
发表于 2019-11-10 13:06:10 | 显示全部楼层
给出你修改后的代码

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

板凳
发表于 2019-11-10 17:15:55 | 显示全部楼层
我试了一下,是一样的。
如果你的不一样,可否告知你的屏幕输出和文件输出分别是什么?
(以最后十行为例)

在我这里,最后十行内容为:
    0.148     0.081     0.771
    0.148     0.081     0.771
    0.148     0.081     0.771
    0.148     0.081     0.771
    0.148     0.082     0.771
    0.148     0.082     0.770
    0.148     0.082     0.770
    0.148     0.082     0.770
    0.148     0.082     0.770
    0.148     0.083     0.769

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

地板
发表于 2019-11-11 22:08:53 | 显示全部楼层
windows的屏幕输出有缓存大小,满了之后,前面的就看不到了。
所以大量的输出,要用文件,而不能用(windows上的)屏幕输出。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-5 03:00

Powered by Tencent X3.4

© 2013-2024 Tencent

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