NetLogo: Как убедиться, что переменная остается в заданном диапазоне?
У меня есть несколько переменных, которые могут быть унаследованы дочерним агентам с вариацией + 0,1 и -0,1 или без каких-либо изменений, или снова случайным образом. То, что я сделал, выглядит следующим образом: (код является лишь примером)
to reproduce
ask turtle 1
[
let X-Of-Mother X
hatch 1
[
set X one-of (list (X-Of-Mother) (X-Of-Mother + 0.1) (X-Of-Mother - 0.1) (random-float 1))
]
]
end
В настоящее время я должен проверить, всегда ли X детской черепахи находится в пределах досягаемости следующим образом:
if X > 1 [set X X - 0.2]
if X < 0 [set X X + 0.2]
Что может быть лучшим способом сделать это?
Что если мне нужно использовать случайное-нормальное значение 0,5 0,1, как я могу ограничить его значениями от 0 до 1, я сделал много повторений генерации таких случайных чисел, я думаю, что качество случайного-нормального является хорошим и не так много раз, когда мне нужно проверить, если этовне диапазона.
например :
to test
Let c 0
let b 0
repeat 100000000
[Set b random-normal 0.5 0.1
if b > 1 [set C C + 1]
If b < 0 [set C C + 1]
]
print c
end
ВЫХОД *67 время из 100000000 времени* 67 самый большой, который у меня есть, у меня 58, 51, ...