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 ]
    ]
  ]

  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
4

1 回答 1

2

好多了,谢谢-我现在可以毫无问题地运行代码。但是,我仍然认为我不了解您想要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
于 2017-10-22T05:32:14.267 回答