intersection - NetLogo的两个代理集操作

标签 intersection netlogo

我有两个代理集。是否有查找功能:

  • 两个(相交)
  • 中都存在的代理的代理集
  • 一个而不是另一个
  • 中存在的代理的代理集

    我发现手动执行此操作非常困难,尤其是在三重ask内部需要它时

    理想的用法类似于with语法:
    let cross set1 and-in set2
    let uniq set1 with [color = red] not-in set2
    

    一些简单的事情,例如“A代理是否在X代理集中?”有问题

    最佳答案

    对于第一个,您使用turtle-set原语。对于第二个,您需要member?原语,它也适用于代理集。因此:

    to setup
      ca
      create-turtles 10 [set color red]
      create-turtles 10 [set color blue]
      let red-ones turtles with [color = red]
      let blue-ones turtles with [color = blue]
    
      ;join 2 agent sets
      let joinset (turtle-set red-ones blue-ones)
      show joinset
    
      let even-ones (turtles with [who mod 2 = 0])
      ;subtract even-ones from red-ones
      let subtractset red-ones with [not member? self even-ones]
      show subtractset
    end
    

    关于intersection - NetLogo的两个代理集操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8425518/

    相关文章:

    algorithm - 射线-胶囊相交

    gis - Netlogo GIS 不支持的形状类型文件

    NetLogo 要求海龟根据设置期间创建的海龟总数孵化

    c++ - 我的射线三角形交叉点代码正确吗?

    linq - 如何使用 Linq 和 Entity Framework 连接两个可连接对象?

    graphics - 如何优化代码以使设置更快

    debugging - netlogo 中的 while 循环调试

    netlogo - 如何在netlogo中同时生成海龟

    java - Java 编译时交集有用吗?

    c++ - 初级 C++ : Transforming index-syntax into iterator-syntax