Я настраиваю две разные породы с помощью команды породы:
breed [breeds1 breed1]
breed [breeds2 breed2]
и на ходу я прошу случайную черепаху выполнить команду действия, например:
to go
ask one-of turtles [
action
]
end
где action
определяется как
to action
ifelse (breed = breeds1)
[
set q random-float 1
set c q
set potential_1 (1 + d) * (1 - c)^(d)
]
[
set c random-float 1
set potential_2 (1 + (1 / d))*(1 - c)^(1 / d)
]
end
Для breeds1
, q
имеет значение в [0,1], а c
принимает его значение. Для breeds2
, q
имеет значение, равное 0, а c
принимает случайные значения в [0,1]. Обе породы имеют d=3
(фиксированное значение).
c,q
, и оба потенциала являются глобальными переменными. Что мне нужно сделать, это построить два потенциала / распределения. Я использовал plotxy
для построения распределений в окне кода графика: [! [Введите описание изображения здесь] [1]] [1]
Мне бы хотелось получить следующие два распределения на одном графике. График 1 показывает распределение для пород1, график 2 для пород2.
Если я считаю potential_1
и potential_2
собственными черепахами (первый для breeds1
, второй для breeds2
), я получаю сообщение, что не могу использовать potential_1
в контексте наблюдателя, потому что potential_1
только для черепах. То же самое для potential_2
. Если я считаю q
и c
собственными черепахами следующим образом:
breeds1-own
[ q
c
potential_1
]
breeds2-own
[
q
c
potential_2
]
я получаю следующую ошибку:
Вы не можете использовать c
вконтекст наблюдателя, потому что c
только для черепах
Итак, мой вопрос: как я могу построить два распределения?
Надеюсь, вы мне поможете.