#include "stdio.h"
#define M 151
main()
{ void acor();
float y[M];
int i,j,m=M;
float x[M];
FILE *fp1,*fp2;
fp1=fopen("SEIS.PRN","r");
fp2=fopen("Seis_acor.xls","w");
for(i=0;i
{
fscanf(fp1,"%d %f",&j,&x[i]);
printf("%d %f\n",j,x[i]);
}
acor(x,m,y);
for(i=-m+1;i<=-1;i++)
fprintf(fp2,"] \t .4f\n",i,y[-i]);
for(i=0;i<=m-1;i++)
fprintf(fp2,"] \t .4f\n",i,y[i]);
fclose(fp1);
fclose(fp2);
}
void acor(x,m,y)
float x[],y[];
int m;
{ int i,j;
for(i=0;i<=m-1;i++)
{ y[i]=0.0;
for(j=0;j<=m-1;j++)
if(j-i>=0&&j-i<=m-1)y[i]=y[i]+x[j]*x[j-i];
}
}
数据SEIS.PRN为一合成地震记录:
0 -0.0051
2 -0.0028
4 0.0004
6 -0.0086
8 0.0012
10 0.0055
12 0.0069
14
-0.0101
16 0.0026
18 -0.01
20
-0.0318
22
-0.0564
24
-0.0899
26
-0.1302
28
-0.1814
30
-0.1665
32
-0.0929
34 0.0236
36 0.1966
38 0.3367
40 0.4002
42 0.3539
44 0.1948
46 0.0361
48
-0.0941
50
-0.1654
52
-0.1701
54
-0.1406
56
-0.1036
58
-0.0532
60
-0.0367
62 -0.014
64
-0.0136
66
-0.0063
68
-0.0084
70
-0.0051
72 0.0053
74
-0.0042
76 0.003
78
-0.0058
80 0.005
82
-0.0058
84
-0.0046
86
-0.0037
88
-0.0042
90 0.0082
92 0.0052
94 0.0052
96 0.0002
98
-0.0099
100
-0.0052
102
-0.0061
104 0.0075
106 0.0069
108
-0.0011
110
-0.0063
112 0.0027
114 0.0028
116 -0.002
118 0.0094
120 0.0015
122
-0.0034
124
0.007
126
-0.0056
128 0.0063
130 0.0009
132 0.0088
134 0.0024
136 0.0034
138 0.0173
140 0.0252
142 0.0428
144 0.0748
146 0.0957
148 0.1286
150 0.1174
152
0.067
154
-0.0152
156
-0.1537
158
-0.2397
160
-0.2704
162
-0.1951
164
-0.0244
166 0.1474
168
0.286
170 0.3409
172 0.2623
174 0.0596
176
-0.1748
178
-0.3934
180
-0.4845
182
-0.4175
184 -0.247
186
-0.0314
188
0.127
190 0.2027
192 0.2166
194 0.1695
196
0.11
198
0.065
200 0.0286
202 0.0106
204 0.0014
206
-0.0069
208 0.0045
210 0.0039
212
0.003
214
-0.0059
216 0.0048
218 -0.007
220 0.0093
222 0.0058
224 0.0032
226 0.0053
228
-0.0095
230
-0.0085
232
-0.0073
234
-0.0023
236
-0.0027
238
-0.0189
240
-0.0379
242
-0.0764
244
-0.1152
246
-0.1836
248 -0.222
250 -0.219
252
-0.1288
254 0.0388
256 0.2613
258 0.4328
260 0.5066
262 0.4326
264 0.2481
266 0.0384
268
-0.1295
270
-0.2186
272 -0.208
274
-0.1676
276 -0.127
278
-0.0661
280
-0.0402
282
-0.02
284
-0.01
286
-0.0076
288 0.0014
290
-0.0055
292
-0.0074
294
-0.0028
296
-0.0046
298 0.0013
300 0.0059
加载中,请稍候......