Как настроить список в netlogo со случайными значениями, но с постоянной суммой?
Я довольно новичок в нетлоге и моделировании в целом. Сейчас я моделирую муниципальную систему твердых отходов в Нидерландах, и мне нужно иметь возможность распределять заранее определенное количество образующихся отходов случайным образом среди породы (муниципалитетов) в рамках моей модели. Мне нужно сделать то же самое для денег среди переработчиков отходов.
Я пробовал это с глобальными, с собственными породами и даже создавая новую породу для отходов (что сработало, но моему решению требовалось слишком много вычислительной мощности, которую я не вижу, чтобы упростить ее.
заранее спасибо
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]