2016-11-21 4 views
0

私は、1つのパッチでカメ所有の係数の分散を計算しようとしています。言い換えれば、単一のパッチでは、そのパッチ上のすべてのカメの中でその要素の平均と分散を知りたいと思う。netlogoの1つのパッチでカメが所有する因子の分散を計算する

私は 'カメのファクター'を知っています - ここには平均がありますが、なんらかの理由で分散がうまくいきません。 質問1:カメが所有する要因の分散を出力するようにパッチを要求する正しい構文は何ですか?

私はスーパーシンプルなサンプルモデルを作成しました。あなたのコードのためにこれを貼り付けるだけで、インターフェイス上に 'setup'と 'go'ボタンを作成します。それは黒い斑点を求めて停止するピンクのカメを持っているはずです。最後に

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 

私はカメのためFACTORの行動空間それぞれの終わりにDEPTH < 0を計算して、すべてのパッチを実行し、平均値、標準偏差を出力し、実験、および分散を行うにはしたいと思いますその正確なパッチ。私の計画はFACTOR_LISTエクスポートリストである場合、座標はxおよびパッチのy座標からなるリストであり、VARIANCE_FACTOR因子の分散で

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

種類のリストを作成することである(これはIここでやる方法を尋ねる)。 質問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 

はまだ誰もが持っているかどうかを知りたいと思い、私はパッチから呼び出すことができ、リストに入れ、新たな手順を追加しましたこの目標を達成するためのより効率的な方法です。

関連する問題