Как отслеживать координаты черепах после того, как они попадают на границы мира в NetLogo? - PullRequest
0 голосов
/ 26 февраля 2019

Я моделирую случайное блуждание в пределах ограниченных ангелов, и я хочу вычислить среднее квадратное смещение черепах в 2D в моей модели.Все черепахи начинаются с центра.Я не уверен, как обновить координаты xy для черепах после того, как они достигли границ.Я прошу черепах отскочить назад, когда они ударились о стену, и сохранить их новые xcor и ycor.Вот мой код:

to go
  ask turtles
  [; head in a random direction in range (-theta, +theta)
   ifelse theta = 0 
     [set heading heading + 0 ]
   ; choose a normally distributed random angel in range (-theta, +theta)
     [set heading heading +  random-normal 0 (theta)]

    fd step-size 
    set xc xc + (step-size * dx)
    set yc yc + (step-size * dy)

   ; if your next patch is blocked:
    ifelse not can-move? 1
    [ set heading heading + 180
      fd 1 ]

   ;otherwise:
    [rt random-float random-normal 0 (theta)]
   set xcor xc
   set ycor yc
   set dist sqrt (xc * xc + yc * yc)]
  ]

Я получаю сообщение об ошибке: «Невозможно переместить черепаху за край мира. Ошибка, когда черепаха 423 работает с SET, вызываемым процедурой GO, вызываемой кнопкой« go »».Есть идеи почему?

1 Ответ

0 голосов
/ 26 февраля 2019

Вы отключили перенос по сетке, и ваши xcor / ycor ваших агентов проходят мимо max-pxcor / min-pxcor и max-pycor / min-pycor

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...