-
Notifications
You must be signed in to change notification settings - Fork 2
/
ex73.for
168 lines (168 loc) · 4.97 KB
/
ex73.for
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
C
C**************************** ABSTRACT ********************************
C
C THIS PROGRAM USES MULTIPLE LINEAR REGRESSION TO DETERMINE RATE
C PARAMETERS FROM NON-ISOTHERMAL KINETIC DATA. THE NON-LINEAR RATE
C EXPRESSION IS LINEARIZED BY USING THE NATURAL LOGARITHM FUNCTION.
C
C*************************** NOMENCLATURE *****************************
C
C A(I)- THE RESULTING REGRESSION COEFICIENTS (NOTE THAT A MUST BE
C DIMENSIONED EXACTLY BY M)
C B(I)- CONSTANT VECTOR IN A SYSTEM OF LINEAR EQUATIONS USED IN
C SUBROUTINE MLR (NOTE THAT B MUST BE DIMENSIONED EXACTLY
C BY M)
C C(I,I)- THE COEFICIENT MATRIX OF A SYSTEM OF LINEAR EQUATIONS
C USED BY SUBROUTINE MLR (NOTE THAT C MUST BE DIMENSIONED
C EXACTLY (M X M) )
C CA(I)- THE CONCENTRATION DATA FOR THE ITH DATA POINT (G-MOLES/L)
C IPVT(M)- A VECTOR SUPPLIED TO LINPAC (MUST BE DIMENSIONED BY M)
C M- THE NUMBER OF UNKNOWN COEFICIENTS
C N- THE NUMBER OF DATA POINTS
C R(I)- THE REACTION RATE FOR THE ITH DATA POINT (G-MOLES/L-SEC)
C SXY- THE STANDARD ERROR OF THE REGRESSION
C T(I)- THE TIME FOR THE ITH DATA POINT (SEC)
C X(J,I)- THE VALUE OF THE JTH COEFICIENT FOR THE ITH DATA POINT
C Y(I)- THE CONSTANT TERM FOR THE ITH SET OF DATA
C
C************************************************************************
C
IMPLICIT REAL*8(A-H,O-Z)
DIMENSION T(8),CA(8),R(8),X(3,8),Y(8)
C
C************************************************************************
C** NOTE THAT C,A,B,IPVT MUST BE DIMENSIONED C(M,M),A(M),B(M),IPVT(M) ***
C************************************************************************
C
DIMENSION C(3,3),A(3),B(3),IPVT(3)
C
C INPUT THE DATA OF THE PROBLEM
C
N=8
M=3
CA(1)=1.0
CA(2)=.923
CA(3)=1.15
CA(4)=.87
CA(5)=1.05
CA(6)=.75
CA(7)=.55
CA(8)=.65
T(1)=373.
T(2)=395.
T(3)=365.
T(4)=400.
T(5)=405.
T(6)=388.
T(7)=410.
T(8)=380.
R(1)=1.508
R(2)=2.936
R(3)=1.293
R(4)=3.242
R(5)=4.566
R(6)=1.899
R(7)=2.780
R(8)=1.255
C
C DEVELOP THE LINEARIZED FOR OF THE RATE EXPRESSION
C
DO 1 J=1,N
Y(J)=DLOG(R(J))
X(1,J)=1.0
X(2,J)=-1./T(J)/1.987
1 X(3,J)=DLOG(CA(J))
C
C CALL MULTIPLE LINEAR REGRESSION SUBROUTINE
C
CALL MLR(N,M,X,Y,A,SXY,C,B,IPVT)
C
C PRINT OUT RESULTS
C
WRITE(6,83)
WRITE(6,80)A(3)
80 FORMAT( 29H THE ORDER OF THE REACTION = ,D14.7)
WRITE(6,81)A(2)
81 FORMAT( 24H THE ACTIVATION ENERGY =,D14.7,13H (CAL/GMOLE))
AO=dEXP(A(1))
WRITE(6,82)AO
82 FORMAT(23H THE PRE-EXPONENTIAL = ,D14.7)
WRITE(6,83)
83 FORMAT( ///)
STOP
END
C
C*************************** ABSTRACT *********************************
C
C THIS SUBROUTINE PERFORMS A MULTIPLE LINEAR REGRESSION UPON A SET
C OF DATA THAT IS SUPPOSED TO BE REPRESENTED BY A LINEAR RELATIONSHIP.
C THE VALUES OF THE INDEPENDENT VARIABLES ARE PASSED AS X(J,I) FOR THE
C JTH VARIABLE IN THE ITH SET OF DATA AND Y(I) IS THE CONSTANT TERM.
C
C************************** NOMENCALTURE ******************************
C
C A(I)- THE RESULTING REGRESSION COEFICIENTS
C B(I)- THE CONSTANT TERM IN THE SET OF LINEAR EQUATIONS
C C(I,I)- THE COEFICIENT MATRIX OF THE SET OF LINEAR EQUATIONS
C M- THE NUMBER OF UNKNOWN COEFICIENTS
C N- THE NUMBER OF DATA POINTS
C SXY- THE STANDARD ERROR OF THE REGRESSION
C X(J,I)- THE VALUE OF THE JTH COEFICIENT IN THE ITH SET OF DATA
C Y(I)- THE CONSTANT TERM IN THE ITH SET OF DATA
C
C************************************************************************
C
SUBROUTINE MLR(N,M,X,Y,A,SXY,C,B,IPVT)
IMPLICIT REAL*8(A-H,O-Z)
DIMENSION C(M,1),B(1),A(1),IPVT(1),X(M,1),Y(1)
C
C CHECK TO SEE THAT THERE IS ENOUGH DATA PROVIDED
C
IF(N.LE.(M+1))WRITE(6,22)
22 FORMAT( 34H THERE IS NOT ENOUGH DATA PROVIDED)
IF(N.LE.(M+1))RETURN
C
C CALCULATE THE COEFICIENTS OF THE SYSTEM OF LINEAR EQUATIONS
C
DO 1 J=1,M
DO 1 K=1,M
SUM=0.0
DO 2 I=1,N
2 SUM=SUM+X(J,I)*X(K,I)
1 C(J,K)=SUM
C
C CALCULATE THE CONSTANT TERM IN THE SYSTEM OF LINEAR EQUATIONS
C
DO 3 J=1,M
SUM=0.0
DO 4 I=1,N
4 SUM=SUM+X(J,I)*Y(I)
3 B(J)=SUM
C
C CALL LINEAR EQUATION SOLVER
C
CALL LINPAC(M,C,B,A,IPVT)
C
C CALCULATE THE STANDARD ERROR OF THE REGRESSION
C
S=0.0
DO 10 I=1,N
SUM=0.0
DO 11 J=1,M
11 SUM=SUM+A(J)*X(J,I)
10 S=S+(Y(I)-SUM)**2
SXY=DSQRT(S/(FLOAT(N-M-1)))
C
C PRINT OUT RESULTS
C
WRITE(6,83)
83 FORMAT( ///)
WRITE(6,84)
84 FORMAT( 51H THE RESULTS OF THE MULTIPLE LINEAR REGRESSION ARE:)
DO 88 I=1,M
88 WRITE(6,89)I,A(I)
89 FORMAT( 10X,3H A(,I1,3H)= ,D14.7)
WRITE(6,85)SXY
85 FORMAT( 10X,40H THE STANDARD ERROR OF THE REGRESSION = ,D14.7)
RETURN
END