2016-11-21 122 views
0

我正试图计算单个补丁上龟的拥有因子的方差。换句话说,在一个补丁中,我想知道该补丁中所有龟的因素的均值和方差。在netlogo中计算单个补丁上的龟拥有因子的方差

我知道'乌龟的意思[因素] - 在这里'会给我的意思,但由于某种原因,差异不是很好。 问题1:请求补丁输出一个龟拥有的因子的方差的正确语法是什么?

我已经制作了一个超级简单的示例模型。只需将其粘贴到代码中,然后在界面上创建“设置”和“去”按钮即可。它应该有粉红色的海龟寻找和停止黑色补丁。

turtles-own 
    [FACTOR] 
patches-own 
    [DEPTH] 
to setup 
    clear-all 
    reset-ticks 
    make_patches 
    make_turtles 
end 

to go 
    move 
    if count (turtles with [DEPTH > 0]) = 0 [stop] 
end 

to make_patches 
    ask patches [set depth 20 set pcolor green - 2] 
    ask n-of 5 patches [set depth -50 set pcolor black] 
end 

to make_turtles 
    create-turtles 10 
    ask turtles 
    [ 
    set color pink 
    set size 2 
    set xcor random max-pxcor 
    set ycor random max-pycor 
    set FACTOR random 100 
    ] 
end 

to move 
    ask turtles[ 
    let D min [DEPTH] of patches in-radius 3 
    let Dn min-one-of patches in-radius 3 [DEPTH] 
    let LDe [DEPTH] of patch-here 

ifelse DEPTH < 0 
[ 
    move-to patch-here 
    stop 
] 
[ifelse LDE > D AND D < 0 
    [ 
    move-to DN 
    stop 
    ] 
    [ 
    right random-float 150 
    forward random 3 
    ] 
] 
    ] 
end 

最后,我想上做一个行为空间实验,其中在每一个的端部运行具有DEPTH < 0计算每个补丁并输出平均值,标准偏差,和因子的方差为龟那确切的补丁。我的计划是创建排序列表

ask patches with [DEPTH< 0] [set FACTOR_LIST (list ("[")(COORDINATES) (",") (VARIANCE_FACTOR) ("]"))] 

其中FACTOR_LIST被导出列表,坐标由x和补丁的y坐标列表,并VARIANCE_FACTOR是因子的方差(我在这里要问怎么办)。 问题2:是否有更有效的方法来获取此列表?

非常感谢!

回答

0

写下这个问题至少让我回答了第一个问题。

我改变:

patches-own 
    [ 
    DEPTH 
    DENSITY 
    FACTOR_VARIANCE 
    FACTOR_LIST 
    ] 
to go 
    move 
    if count (turtles with [DEPTH > 0]) = 0 
    [ 
    final_tick 
    ask patches with [DEPTH < 0] [show FACTOR_LIST] 
    stop 
    ] 

end 

,并补充说,计算方差,并把它放在一个列表,我可以从补丁调用

to final_tick 
    ask patches with [DEPTH < 0] [set DENSITY count turtles-here] 
    ask patches with [DEPTH < 0 AND DENSITY <= 1] [set FACTOR_VARIANCE 0] 
    ask patches with [DEPTH < 0 AND DENSITY > 1] [set FACTOR_VARIANCE (variance [FACTOR] of turtles-here)] 
    ask patches with [DEPTH < 0] [set FACTOR_LIST (list (pxcor)(",")(pycor)(",")(FACTOR_VARIANCE))] 
end 

还是想知道如果任何人有一个新的程序一个更有效的方式来实现这个目标。

相关问题