我新调试好的程序如下,应该是对的,供参考
! z' V/ `" u& z/ \; S- L因为特殊要求,这里的边的长度是二维座标内的空间距离" o. x2 M6 W4 Y; T, F" x& P
; q1 K& a; f. j( I# X8 L1 }
to find-distance4 W% U: l9 M6 ~6 E- U/ O0 _3 g; D& B
let i 0
$ ~1 o! \9 m" _ let j 0' ^ J6 N; }. `$ W& \
let nodedistance 0+ M+ \" n, J+ s; b |( M/ n. Y. x
let linknumber 0
5 W' P" {7 R/ i; _1 e# b& V" @' n+ v0 v 7 W8 u/ W" N1 m( N) z9 A
while [j < count turtles]
; A$ D% A! v: ?; y [
! E, e% Q, h) z" c while [i < count turtles]
2 y$ Y: @% s1 A" Z! ^2 n [ if link-neighbor? turtle i
. r& l8 p( o# J; B* G$ O* M W [ask turtle j [set nodedistance nodedistance + distance turtle i]7 z$ F* }$ q/ O+ j% S" E8 z
ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]
% Y1 l1 `7 {/ M7 o0 M4 \& P ]5 u" g* p4 b2 Z7 {% O& F8 q
set i i + 1
/ b+ y% q, K9 t3 S; J4 d1 i ] 4 [& y& Q* C" }% x0 X, y$ M: W$ `8 c0 Y
set j j + 1) a( K; `5 _6 H: d. w
]$ z8 @( U( C% n# r9 C# ~% ^
set average-path-length nodedistance / (linknumber * 2)$ f. B4 s) L2 `( N; ^, m
end |