2014-09-29 50 views
1

如何在海龟离开建筑物后激活报警时绘制直方图。我添加了这段代码,但是看起来好像工作不正常,时间也不正确。图中的时间假设在“疏散时间”监视器中不像时间显示一样。有人可以在这方面给我建议。先谢谢了。如何在netlogo中绘制图表

globals 
[ 
percent-leader 
flag-active-alarm 
time-to-evacuate 
flag-alarm 
time-to-exits 
] 

to setup 
clear-all 
reset-ticks 
set flag-active-alarm false 
set time-to-exits [] 
setup-turtles 
end 

to go 
ask turtles [wander fd 0.01] 
if (flag-active-alarm)[active-alarm] 
if all? turtles [ pcolor = red ] ;stops simulation 
[ stop ] 

if all? turtles [ pcolor = red ] 
    [ 
    plot-time-to-exits 

    ] 
tick 
end 

to plot-time-to-exits 
set-current-plot "PDF-Escape-Time" 
set-plot-x-range min time-to-exits max time-to-exits 
histogram time-to-exits 
end 

回答

1

有为什么它可能无法正常工作像您期望(顺便说一下,在一般情况下,你应该告诉我们它实际上正在做的事情是错误的)一对夫妇的原因。首先,你必须:

if all? turtles [ pcolor = red ] ;stops simulation 
[ stop ] 

if all? turtles [ pcolor = red ] 
    [ 
    plot-time-to-exits 

    ] 

这里的问题是,如果海​​龟都红了这段代码的开始,比模拟站和第二个条件(即在它的身上调用plot-time-to-exits)从来都不是到达。如果任何海龟不是红色,那么第二个条件是假的,它的身体永远不会运行。因此,永远不会调用plot-time-to-exits

我想你可能需要更多的东西一样:

if all? turtles [ pcolor = red ] [ 
    plot-time-to-exits 
    stop 
] 

下,没有数据被添加到time-to-exits。我完全相信你正在设计什么(也不知道如何计算“疏散时间”监视器的时间),但我希望在某处看到类似set time-to-exits lput time time-to-exits的东西。