2017-01-28 110 views
0

我嘗試使用NETLOGO製作我的第一個ABM。我想以簡單的方式展示選舉如何運作。NETLOGO - 有一定概率的選項

所以我創建3種海龜:青少年,成年人和高級(我創建這個,因爲候選人的喜好是不一樣的,一個人比其他人更社會更自由的......)。

所以我想使它們移動,改變了補丁的p色入他們的概率移動。例如,在2012年,年輕人以30%的社交(顏色136),30%的自由(顏色97),20%的極端 - 右側(顏色104)和10%極端 - 左(紅色)投票(以簡單的方式)。

因此,我想在我的代碼中介紹當海龜移動到補丁和改變顏色時的概率。

這是我的代碼的有趣的部分:

to chose-color-young 

ask jeunes 

[if pcolor = white [set pcolor one-of [136 97 104 15]]] 

end 

我願做這樣的事情136的概率= 0.3; 97的概率= 0.3; 104,概率= 0.20,概率= 0.10,概率爲15。

+0

的可能的複製[的NetLogo:分配使用概率變量](http://stackoverflow.com/questions/41901313/netlogo-assign-variable-using-probabilities) – Alan

回答

1

rnd extension不正是你所需要的:

let probs [[136 0.3] [97 0.3] [104 0.20] [15 0.10]] 
ask jeunes [ 
    if pcolor = white [ 
    set pcolor first rnd:weighted-one-of-list probs last 
    ] 
] 

有關rnd擴展更多的解釋見this other answer