2016-07-21 7 views
2

Netlogoのランダムベータ分布からその値を引き出す品種所有変数を生成しようとしています。netlogoでランダムベータ分布を描く

私は "bc"というコード例をオンラインで見つけましたが、必要なものに適合させるのに苦労しています。今、便宜上、私は私が「ランダム通常0.9 0.05」の部分を置き換えることができレポーターを取得したいのですがそこで、基本的

create-breed 500 
[ 
    set target_factor random-normal 0.9 0.05 
    if target_factor > 1 [set target_factor 0.9999999999] 
    if target_Factor < 0.5 [set target_factor 0.5000000001] 
] 

を使用してランダムな正規分布からの私の分布を生成しました私は限りだランダムベータ分布

:ここ

to-report random_beta 
    set asocial_alpha 2 
    set asocial_beta 2 
    set asocial_min_eps 0 
    set asocial_max_eps 0.25 
    let x random-gamma asocial_alpha 1 
    let asocial_eps (x/(x + random-gamma asocial_beta 1)) 
    set asocial_eps asocial_min_eps + (asocial_eps * (asocial_max_eps - asocial_min_eps)) 
foreach (n-values 99 [ (? + 1)/100 * (asocial_max_eps -  asocial_min_eps) + asocial_min_eps]) 
    [report ? (((? - asocial_min_eps)^(asocial_alpha - 1) * (asocial_max_eps - ?)^(asocial_beta - 1))/(asocial_max_eps - asocial_min_eps)^(asocial_alpha + asocial_beta - 1))] 
end 

「セット」変数のすべてを、私はと私の深さの外に正直だグローバルな要因

ですこれは数学的に誰かが私にこの記者を解決させる手助けをすることができれば(あるいは手続きがうまくいくかどうか)。私の最終的な品種作成コードは次のとおりです。

create-breed 500 
[ 
    set target_factor random-beta 
    if target_factor > 1 [set target_factor 0.9999999999] 
    if target_Factor < 0.5 [set target_factor 0.5000000001] 
] 

私は永遠に感謝しています!

答えて