10 rem 农业试验统计模型Basic程序【程序27】聚类分析basic程序输入第二个数据的结果
12 REM BASIC PROGRAM OF CLUSTER
网页链接 P.517
网页链接 14 PRINT "PLEASE INPUT 1 N=5, 2 N=5"
20 N=5
22 PRINT "PLEASE INPUT 1 R=-.5, 2 R=0"
24 rem R=-.5
26 R=0
50 DIM D(N, N), N(N), M(N)
60 FOR I = 1 TO N: D(I, I) = 0: N(I) = 1: M(I) = I: NEXT I
70 FOR I = 2 TO N
80 FOR J = 1 TO I - 1
90 READ D(I, J): D(J, I) = D(I, J)
100 NEXT J: NEXT I
102 PRINT
110 PRINT TAB(3); "CLUSTER ANALYSIS TABLE"
112 PRINT
120 A$ = "---------------------------"
130 PRINT A$
140 FOR L = 0 TO N - 2
150 S = D(2, 1): Q = 2: P = 1
160 FOR I = 2 TO N - L
170 FOR J = 1 TO I - 1
180 IF S <= D(I, J) THEN 200
190 S = D(I, J): P = J: Q = I
200 NEXT J: NEXT I
210 PRINT L + 1; " ("; M(P); ","; M(Q); ") ";
220 PRINT " "; S
221 rem PRINT USING "####.##"; S
222 rem PRINT USING "######.####"; S
230 IF R = -.5 THEN 250
240 P1 = N(P) / (N(P) + N(Q)): Q1 = N(Q) / (N(P) + N(Q)): GOTO 260
250 P1 = .5: Q1 = .5
260 FOR K = 1 TO N - L
270 IF K = Q THEN 300
280 D(K, P) = P1 * D(K, P) + Q1 * D(K, Q) + R * ABS(D(K, P) - D(K, Q))
290 D(P, K) = D(K, P)
300 NEXT K
310 N(P) = N(P) + N(Q)
320 IF Q = N - L THEN 430
330 FOR K = Q TO N - 1 - L
340 FOR J = 1 TO Q - 1
350 D(K, J) = D(K + 1, J): D(J, K) = D(K, J)
360 NEXT J
370 M(K) = M(K + 1): N(K) = N(K + 1)
380 NEXT K
390 FOR I = Q TO N - 1 - L
400 FOR J = Q TO N - 1 - L
410 D(I, J) = D(I + 1, J + 1)
420 NEXT J: NEXT I
430 NEXT L
440 PRINT A$
450 PRINT : PRINT
460 DATA .089, 1.2866, .8132, 3.0722, 3.176, 4.3668, 1.3738, 1.1904, 2.6596, 1.576
470 END