我尝试使用NETLOGO制作我的第一个ABM。我想以简单的方式展示选举的运作方式。
所以我创造了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,15,概率= 0.10。
答案 0 :(得分:2)
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。