Я хотел бы получить сумму конкретных весов только в патчах с черепахами, присутствующими в соответствующем районе Мур. Мой подход заключается в разработке суммы продуктов между списком веса и списком двоичных переменных. Я создал список весов в окрестностях для каждого патчаNetLogo- случайность в списке для идентификации черепах в соседстве
Let weight_list [ 1 2 3 4 5 6 7 8]; weights of the moore neighborhood for specific patch
Затем я создал список с двоичным переменным (1, если черепаха присутствует в соседнем пластыре, 0 в противном случае),
ask patches with [ any? turtles-here ] [let turtle_present 1 ]
ask patches with [ not any? turtles-here] [let turtle_present 0 ]
ask patches[ set binary_list [ turtle_present ] of neighbors ]
Я попытался размножить этот binary_list с их соответствующими весами и получить сумму, например sum (binary_list * weight_list)
Моя проблема в том, что binary_list сортируется в случайном порядке. Например. если у меня есть 2 черепахи по соседству, список может показать [01100000] или [01000100]. Эта случайность не позволяет мне умножаться с их соответствующими весами. Это может быть глупый вопрос, но я относительно новый пользователь NetLogo. Буду признателен за любую помощь, спасибо
Какой вес должен соответствовать соседству? –
Каждое весовое число соответствует основным направлениям зоны борева [1 = NW, 2 = W, 3 = SW, 4 = S, 5 = SE, 6 = E, 7 = NE и 8 = N], например, если I есть черепаха на севере и юге от конкретного патча, я хотел бы получить как выход [8 + 4] = 12 –