Netlogo:如何获取Netlogo中的累计值?
Netlogo: How can I obtain the accumulate value in Netlogo?
我已经在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
好多了,谢谢-我现在可以 运行 代码没问题了。但是,我认为我仍然不理解您想要 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
我已经在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
好多了,谢谢-我现在可以 运行 代码没问题了。但是,我认为我仍然不理解您想要 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