我新调试好的程序如下,应该是对的,供参考4 \# h' B9 P$ D+ o
因为特殊要求,这里的边的长度是二维座标内的空间距离. k; i* j* ^# d" {9 c" O2 ~
, ^/ a2 n' g; w" L5 yto find-distance
$ f; A( a& Y, ?9 ? let i 04 V+ i e R8 @) B }6 V4 ^9 ~+ m
let j 01 L+ k6 n& _/ u3 |: d
let nodedistance 0
7 R i3 S9 B: X let linknumber 0
& @' f' Y4 L9 q- e" F2 T. y* Y
7 n* n! M8 V% |+ J5 f S while [j < count turtles]
; x2 f, v, m& W4 ^3 j* P8 C& V A" q [* w4 a d9 T5 A, t! M8 N- L
while [i < count turtles]
, K3 s: M7 {) R9 T [ if link-neighbor? turtle i4 \ F6 Z0 p. F% s3 ]
[ask turtle j [set nodedistance nodedistance + distance turtle i]: U' o4 R9 f( ^% P
ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]
0 N+ G5 j4 {; U; k ]
) I' _ W) v+ Y' h/ C/ ? set i i + 1! F5 `+ M. f. z2 H J1 I9 q+ c
]
# C- K* I1 c" F5 a9 n" P0 V; b0 z1 v set j j + 1
7 x1 {+ Y, P8 [+ p: i+ n# J0 O, P ]6 `3 k, _2 ~6 `+ P
set average-path-length nodedistance / (linknumber * 2)
7 ^* Y8 H$ U) C) V3 \6 Wend |