【问题标题】:Netlogo: calculate distance between self and other agentNetlogo:计算自己和其他代理之间的距离
【发布时间】:2018-09-05 19:23:28
【问题描述】:

您好:我正在使用 Netlogo,并希望代理计算他们自己与他们之前选择的其他代理之间的距离。我不断收到“预期文字值”的错误。代码如下。帮助说这个距离报告者“距离代理:报告从这个代理到给定海龟或补丁的距离。”因为我之前定义了“我的邻居”,所以我不知道哪里出了问题。非常感谢任何帮助。

turtles-own [
  myneighbor                                 ;; closest other male frog to myself
  mycall                                     ;; the amplitude (loudness) of my own call
  myminthresh                                ;; when my neighbor's call is below this threshold, I move toward him
  mymaxthresh                                ;; when my neighbor's call is above this threshold, I move away from him
  myNND                                      ;; the distance to my nearest neighbor
  settle?                                    ;; true if male decides to create a territory and stop moving
 ]

to setup
  clear-all
  create-turtles population [                         ;; use the population slider to choose number of males

    set size 1.5                                      ;; easy to see but is it actual agent size or just agent image size?
    setxy random-xcor random-ycor                     ;; distribute frogs randomly in the landscape

    set mycall random 100                             ;; choose the amplitude of my own call from a random distribution 0 to 100
    set color scale-color red mycall 0 100            ;; allows easy visualization of variability in call amplitude
                                                      ;; lighter color is a higher amplitude
    set myminthresh inputminthresh                    ;; use the input on interface to set the min-threshold
    set mymaxthresh inputmaxthresh                    ;; use the input on the interface to set the max-threshold
    set myNND 0                                       ;; initialize nearest neighbor distance for all

  ]

  reset-ticks

end

to go
  choose-neighbors
  move-turtles
  tick
end

to choose-neighbors
   ask turtles [
    set myneighbor min-one-of other turtles [distance myself]  ;; choose my nearest neighbor based on distance
    set myNND  [ distance myneighbor ]
  ]
end

to move-turtles
  ask turtles [
    face myneighbor
    ;;set heading (random 360)
    fd 5
    pendown
  ]
end

【问题讨论】:

    标签: netlogo


    【解决方案1】:

    问题行是:

    set myNND [ distance myneighbor ]
    

    改成:

    set myNND distance myneighbor
    

    NetLogo 的 [] 约定可能有些晦涩。

    【讨论】:

    • 完美!非常感谢你。这立即修复了它。
    • @SunnyBoyd - 如果 Jen 的帖子解决了您的问题,请单击他们答案顶部附近的小复选标记,将其标记为已接受,此问题已关闭。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-19
    • 1970-01-01
    • 2014-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多