我已经确认the link上的信息。 但是我无法应用这个。 以下是样本模型程序的一部分。 我想积累海龟的数量,但我无法用示例程序累积它。 我可能需要你的建议。谢谢。
globals [num-turtles cumulative-sum average-time number-dead ]
turtles-own [count-up]
to setup
clear-all
set num-turtles 5
reset-ticks
end
to go
if count turtles < num-turtles
[ ask patch 0 0
[ sprout 1
[ set count-up 0 ]
]
]
set cumulative-sum cumulative-sum + 1 ;I would like to calculate the integral value here, but this syntax is not a cumulative value.
ask (turtles-on patch 0 0)
[
set cumulative-sum count turtles-here
]
set average-time ifelse-value (number-dead = 0)
[ 0 ][(cumulative-sum) / (number-dead)]
if (count turtles > 0) [
ask min-one-of turtles [who] [
if count-up >= 6 [
set number-dead number-dead + 1
die
]
]
]
ask (turtles-on patch 0 0)
[ set count-up count-up + 1
]
tick
end
答案 0 :(得分:3)
那好多了,谢谢 - 我现在可以运行代码没问题了。但是,我仍然不认为我理解你想要cumulative-sum
实际计算的内容。您是否只是在寻找海龟的总数,包括那些仍然存活的海龟和已经死亡的海龟?如果是这样,我认为这只是移动set cumulative-sum cumulative-sum + 1
行的问题。例如:
修改强>
好的,我想我现在从你的评论中了解到。试试这个:
globals [num-turtles cumulative-sum average-time number-dead ]
turtles-own [count-up]
to setup
clear-all
set num-turtles 5
reset-ticks
end
to go
if count turtles < num-turtles [
ask patch 0 0 [
sprout 1 [
set count-up 0
]
]
]
if (count turtles > 0) [
ask min-one-of turtles [who] [
if count-up >= 6 [
set number-dead number-dead + 1
die
]
]
]
ask turtles-on patch 0 0 [
set count-up count-up + 1
]
set cumulative-sum cumulative-sum + count turtles
set average-time ifelse-value (number-dead = 0) [0] [(cumulative-sum) / (number-dead)]
tick
end