Я очень новичок в кодировании, и у меня проблемы. Я пытаюсь установить распределение по возрасту в netlogo исходя из вероятности того, что каждый возраст при настройке. Я установил переменную случайного числа, которую я использую, чтобы помочь в вероятности. Возрастные вероятности следующие:Создание распределения возраста в netlogo
дней | вероятность
_0 ____0.476
_365__ 0.229
_730 __0.142
_1095 _0.081
_1460 _0.044
_1825 _0.019
_2190 _0.007
_2555 _0.002
мне нужно 2 pDogs быть возраст 2920
Вот то, что я до сих пор, но я не уверен, если есть лучший способ сделать это.
pDogs-own[family age health random-number]
ask pDogs [
set random-number random 1000.5]
ask pDogs
[if random-number <= 476 [set age 0]]
ask pDogs
[if ((random-number > 476) and (random-number <= 705)) [set age 365]]
ask pDogs
[if ((random-number > 705) and (random-number <= 847)) [set age 730]]
ask pDogs
[if ((random-number > 847) and (random-number <= 928)) [set age 1095]]
ask pDogs
[if ((random-number > 928) and (random-number <= 972)) [set age 1460]]
ask pDogs
[if ((random-number > 972) and (random-number <= 991)) [set age 1825]]
ask pDogs
[if ((random-number > 991) and (random-number <= 998)) [set age 2190]]
ask pDogs
[if ((random-number > 998) and (random-number <= 1000)) [set age 2555]]
Я также пытаюсь сделать другой способ сделать то же самое. Во-первых, я прошу 2619 pDogs быть возраст = 0. Я пытаюсь сделать код, который говорит:
ask n-of 2619 pDogs [
set age 0]
ask pDogs [
if age != 0 [
ask n-of 1262 pDogs [
set age 365]]]
... но не working.I в конечном счете, хотят чего-то, что я могу сказать, что если возраст ни один из ранее определенных 0, 365, 730 и т. д. не применяют значение следующего года/возраста.
Итак, в чем вопрос? Вы просто ищете отзывы о том, как представлять этот дистрибутив, исходя из того, что у вас есть сейчас? – mattsap
Ну, мой текущий код не дает числа, которые я ищу. Цифры близки, но меняются для каждой установки на ~ 50. Я ищу более точный способ распределения возраста. Например: мне нужно 2619 pDogs с возрастом = 0. –