2014-10-29 19 views
2

我對netlogo和整體建模相當陌生。我現在正在模擬荷蘭的城市固體廢物系統,我需要能夠在我的模型內的一個品種(市鎮)之間隨機分配預定量的廢物。我需要在垃圾處理器之間做同樣的事情。如何使用隨機值設置netlogo中的列表,但總數不變?

我與全局試了一下,用的品種,自己甚至產生廢物的新品種(哪種類型的工作,但我的解決方案需要太多的計算能力,我看不出如何簡化它。

在此先感謝

+0

多久應該名單是什麼?整數(整數)或浮點數(十進制數)?隨機數的分佈應該是什麼(我猜會統一)?你會舉幾個例子,說明你希望得到某種輸入嗎? – 2014-10-29 01:08:56

回答

1
To share[waste] 
While [waste > .1] ;; or some small number 
[ 
Let r random-float 1 
Set waste waste - r 
Ask one-of patches[set pcolor pcolor + r 
] 
Ask one-of patches[set pcolor pcolor + waste ;; ditch the dregs 
End 

與整數這樣做不會有太大的不同。

要使它成爲一個列表

Let pots [] 
Ask patches[set pots lput pcolor pots] 

答案2均勻分佈

Ask n[set take random-float resource/count n] 
Let fix (resource - sum [take] of p)/count n 
Ask n[set take take + fix] 
+0

在我看來,代碼可能最終會在同一個補丁中多次添加'r'。這可能是你的意圖。沒問題。 – Mars 2014-10-29 02:38:22

+0

沒錯。這樣它不會耗盡併產生均勻分佈。 – 2014-10-29 02:43:20

+0

我試圖找出是否會產生一個統一的分佈,但沒有成功。 – Mars 2014-10-29 02:45:33

相關問題