10 ‘***************************************************
20 ‘* 210用追赶法解拟三对角形方程组 *
30 ‘***************************************************
40 INPUT "N="; N
50 Dim A(N), B(N), C(N), D(N), U(N), V(N), H(N), P(N)
60 Dim L(N), R(N)
70 For I = 1 To N
80 READ A(I)
90 Next I
100 For I = 1 To N
110 READ B(I)
120 Next I
130 For I = 1 To N
140 READ C(I)
150 Next I
160 For I = 1 To N
170 READ D(I)
180 Next I
190 GoSub 300
200 For I = 1 To N
210 Print "X("; I; ")="; D(I)
220 Next I
230 Data 0.5, 1, 1, 1, 1, 1, 2, 3, 4, 5, 1, 1, 1, 1, 0.5
240 Data 5.5, 8, 15, 24, 29.5
250 End
300 'ZI CHENG XU'
310 L(1) = B(1)
320 For I = 1 To N - 1
330 R(I) = C(I) / L(I)
340 L(I + 1) = B(I + 1) - R(I) * A(I + 1)
350 Next I
360 H(1) = D(1) / L(1): P(1) = A(1) / L(1)
370 For I = 1 To N - 2
380 H(I + 1) = (D(I + 1) - A(I + 1) * H(I)) / L(I + 1)
390 P(I + 1) = -A(I + 1) * P(I) / L(I + 1)
400 Next I
410 U(N) = 1: V(N) = 0
420 For I = N - 1 To 1 Step -1
430 U(I) = -P(I) - R(I) * U(I + 1)
440 V(I) = H(I) - R(I) * V(I + 1)
450 Next I
460 K = D(N) - C(N) * V(1) - A(N) * V(N - 1)
470 M = C(N) * U(1) + A(N) * U(N - 1) + B(N)
480 D(N) = K / M
490 For I = N - 1 To 1 Step -1
500 D(I) = U(I) * D(N) + V(I)
510 Next I
520 Return