输入:数据点数,EPS,T①,C(I)(=1,N)(2分) 曰,NX0T0Y0-C02S2=(4分) 调用Simpson法子程序计算积分S2 (用插值法计算函数值),S1(I)=S+S2(4分) I=1,NX1①F=S1①/T①Y1①=C①/T④(4分) 调用一元线性回归法计算 k1、k2(4分) 输出:第一步和第二步的反应速率常数k、 (2分) 结束 3.源程序(20分) PROGRAM MAIN (10分) DOUBLEPRECISIONEPS.A.B.X.Y.C.T.S.R.K1.K2.A1.B1.X1.Y1.S2.X2.Y2 DIMENSION X(7.Y(7).C(7)T(7).SI(7.XI(7).YI(7).X2(6).Y2(6) -7 M-6 EPS-1 0E6 OPEN(6.FILE-2009TESTB.Txt',STATUS-'UNKNOWN) DATA TA0.4.7.14.7.24.7.34.7.447.54.71 DATA CA0.0.0170.0.0495.008020.1060.0.1265,0.1360/ Y11=0. X1(1=0 D010=l,N XOETO 10 Y①-CU*2 S24.72)*(0+Y2) X1(2=S24.7 Y1(2=C2y4.7 D015I=3.N A=47 B=T④ 6
6 3. 源程序(20 分) PROGRAM MAIN (10 分) DOUBLE PRECISION EPS,A,B,X,Y,C,T,S,R,K1,K2,A1,B1,X1,Y1,S2,X2,Y2 DIMENSION X(7),Y(7),C(7),T(7),S1(7),X1(7),Y1(7), X2(6),Y2(6) N=7 M=6 EPS=1.0E-6 OPEN(6,FILE='2009TESTB.Txt',STATUS='UNKNOWN') DATA T/0.,4.7,14.7,24.7,34.7,44.7,54.7/ DATA C/0.,0.0170,0.0495,0.0802,0.1060,0.1265,0.1360/ Y1(1)=0. X1(1)=0 DO 10 I=1,N X(I)=T(I) 10 Y(I)=C(I)**2 S2=(4.7/2)*(0+Y(2)) X1(2)=S2/4.7 Y1(2)=C(2)/4.7 DO 15 I=3,N A=4.7 B=T(I) 输入:数据点数,EPS,T (I), C(I)(I=1,N)(2 分) I=1,N X(I)=T(I) Y(I)=C(I)**2 S2=∫ 4.7 0 2 cHdt (4 分) 调用 Simpson 法子程序计算积分 S2 (用插值法计算函数值),S1(I)=S+S2 (4 分) ) 输出:第一步和第二步的反应速率常数 k1、k2 (2 分) 结束 I=1,N X1(I)=S1(I)/T(I) Y1(I)=C(I)/T(I) (4 分) 调用一元线性回归法计算 k1、k2 (4 分) )
CALLSIMP(N,A,B.X,Y,EPS,S) S1①=S+S2 X1①=S1①/TD 15 Y10=CO/T④ D016=1,M X2(I)=XI(l+1) Y2①=Y1+1) 16 CONTINUE CALL PK(M,X2,Y2,AI,BI,R) KI=AI K2=B1 WRITE(6,20)K1,K2,R 20 FORMAT(5X.'KI=,G12.6,2X.'mol-dm-3-min-1'/& 5X.K2=.G12.62X'mol-1dm3-min-1"/5X.R=G12.6 END SUBROUTINE SIMP(M.A.B.X.Y.EPS.S2) (4分) DOUBLE PRECISION A.B.X.Y.EPS.S2.FA.FB.XO.YO DIMENSION X(M)Y(M) H=B-A N=1 CALL LGRG2(X.Y.M.A.FAY CALL LGRG2(X.Y.M.B.FB) T1=0.5*H(FA+FB) 10 S=U D020K=1,N X0=A+HK-0.5)* CALL LGRG2(X,YM XO,YO) 20 =+Y0 T2=0.5*T1+H*S 5. IF(N.EQ.I)GOTO 40 D=ABS(S2-ST) IF(ABS(S2).GT.1.0)THEN BS((S2-S1yS2) IF(D LT.EPS)GOTO 50 40 50 RET END (3分) UBLE PRECISION X.Y.TZ.S
7 CALL SIMP(N,A,B,X,Y,EPS,S) S1(I)=S+S2 X1(I)=S1(I)/T(I) 15 Y1(I)=C(I)/T(I) DO 16 I=1,M X2(I)=X1(I+1) Y2(I)=Y1(I+1) 16 CONTINUE CALL PK(M,X2,Y2,A1,B1,R) K1=A1 K2=-B1 WRITE(6,20) K1,K2,R 20 FORMAT(5X,'K1=',G12.6,2X,'mol·dm-3·min-1',/& 5X,'K2=',G12.6,2X,'mol-1·dm3·min-1',/5X,'R=',G12.6) END SUBROUTINE SIMP(M,A,B,X,Y,EPS,S2) (4 分) DOUBLE PRECISION A,B,X,Y,EPS,S2,FA,FB,X0,Y0 DIMENSION X(M),Y(M) H=B-A N=1 CALL LGRG2(X,Y,M,A,FA) CALL LGRG2(X,Y,M,B,FB) T1=0.5*H*(FA+FB) 10 S=0 DO 20 K=1,N X0=A+(K-0.5)*H CALL LGRG2(X,Y,M,X0,Y0) 20 S=S+Y0 T2=0.5*(T1+H*S) S2=T2+(T2-T1)/3.0 IF(N.EQ.1)GOTO 40 30 D=ABS(S2-S1) IF(ABS(S2).GT.1.0)THEN D=ABS((S2-S1)/S2) END IF IF(D.LT.EPS)GOTO 50 40 N=N+N H=0.5*H T1=T2 S1=S2 GOTO 10 50 RETURN END SUBROUTINE LGRG2(X,Y,N,T,Z) (3 分) DIMENSION X(N),Y(N) DOUBLE PRECISION X,Y,T,Z,S Z=0.0 IF(N.LE.0)RETURN