Netlogo中累加每步死亡率模型程序

Netlogo中累加每步死亡率模型程序,netlogo,Netlogo,请告知我在以下关于每一步死亡率的netlogo程序中可能犯了哪些错误(我正在实施“通过”程序作为“通过”程序中的一个步骤): 上面的代码正确吗?即使这是正确的,是否有一种改进的或更好的替代方法来实现海龟在世界各地移动时每时间步的恒定(累积)死亡率?最后,如何让变量“死计数”在netlogo界面上向监视器报告 这将主要起作用,但您的死亡人数始终为1。但它可能不会像你想的那样起作用。你应该开始探索你所写的东西。当你感到困惑时,要做的第一件事就是把东西分成小块。第二件事是添加一些有用的视觉效果。在这种

请告知我在以下关于每一步死亡率的netlogo程序中可能犯了哪些错误(我正在实施“通过”程序作为“通过”程序中的一个步骤):


上面的代码正确吗?即使这是正确的,是否有一种改进的或更好的替代方法来实现海龟在世界各地移动时每时间步的恒定(累积)死亡率?最后,如何让变量“死计数”在netlogo界面上向监视器报告

这将主要起作用,但您的死亡人数始终为1。但它可能不会像你想的那样起作用。你应该开始探索你所写的东西。当你感到困惑时,要做的第一件事就是把东西分成小块。第二件事是添加一些有用的视觉效果。在这种情况下,通过绘制机会表示图,您将学到很多东西。我不得不猜测你的死亡率属性是一个随机浮动,因为你没有这么说。下面是对代码的部分修复,它提供了足够的线索继续。您需要在界面选项卡中添加一个绘图--请参见--如果您发现使用
print
进行的监视太笨重,您可以使用相同的方法添加监视器

globals [dead-count]
turtles-own [mortality]

to setup
  ca
  set dead-count 0
  crt 100 [set mortality random-float 1]
  reset-ticks
end

to go
  ask turtles [pass-away]
  print (word "dead count = " dead-count)  ;easiest monitor
  clear-plot  ;you'll need to have added a plot
  foreach sort [chances] of turtles [
    [?] -> plot ?
  ]  ;keep an eye on the largest value in this plot ... get it?
  tick
end
to-report chances ;turtle proc
  report 1 - exp( -1 * mortality * ticks )
end

to pass-Away ;turtle proc
  if chances >= 1 [
    set dead-count dead-count + 1 ;*inside* the conditional! must come first!
    print (word "chances: " chances)
    die
  ]
end

谢谢@Alan。。。将死亡计数指示为全局变量的指令非常有用。然而,死亡计数实际上并没有实时打印到监视器上:我希望看到界面上的死亡计数监视器上的数字随着海龟的死亡而增加,但没有。有没有办法做到这一点?@nigus21我的坏;在杀死海龟之前,你需要重置死亡人数。(固定)
globals [dead-count]
turtles-own [mortality]

to setup
  ca
  set dead-count 0
  crt 100 [set mortality random-float 1]
  reset-ticks
end

to go
  ask turtles [pass-away]
  print (word "dead count = " dead-count)  ;easiest monitor
  clear-plot  ;you'll need to have added a plot
  foreach sort [chances] of turtles [
    [?] -> plot ?
  ]  ;keep an eye on the largest value in this plot ... get it?
  tick
end
to-report chances ;turtle proc
  report 1 - exp( -1 * mortality * ticks )
end

to pass-Away ;turtle proc
  if chances >= 1 [
    set dead-count dead-count + 1 ;*inside* the conditional! must come first!
    print (word "chances: " chances)
    die
  ]
end