在Netlogo中创建海龟

在Netlogo中创建海龟,netlogo,Netlogo,我的ABM需要一些帮助。我的模型是基于细胞自动机的。海龟有三个品种:自行车、自行车和汽车。当模拟开始时,设置程序应创建一些特定的海龟计数。例如: 30%的海龟有繁殖自行车, 30%的海龟具有繁殖周期和 40%的海龟有繁殖车。 总数(30%+30%+40%)=海龟总数 我的代码如下所示: breed[bike] breed[cycle] breed[car] to setup ask patches[ sprout 1 [ let b = count bike(round (30 / 100 *

我的ABM需要一些帮助。我的模型是基于细胞自动机的。海龟有三个品种:自行车、自行车和汽车。当模拟开始时,设置程序应创建一些特定的海龟计数。例如: 30%的海龟有繁殖自行车, 30%的海龟具有繁殖周期和 40%的海龟有繁殖车。 总数(30%+30%+40%)=海龟总数 我的代码如下所示:

breed[bike]
breed[cycle]
breed[car]
to setup
ask patches[
sprout 1 [
let b = count bike(round (30 / 100 * count turtles)) 
let cy = count cycle(round(30 / 100 * count turtles))
let c = count car (round(40 / 100 * count turtles))
create-bike b
 ask bike[set color gray]
create-cycle cy
ask cycle[set color blue]
create-car c
ask car[set color green]
]
]
end
但由于creat bike、create cycle和create car是观察者,因此发生错误,无法在此处使用。 请引导我。
谢谢

您正在sprout语句中创建海龟。两者都是创造海龟的方法。这是您所拥有内容的更正版本:

breed[bikes bike]
breed[cycles cycle]
breed[cars car]

to setup
  set num-turtles 100     ; or use a slider to set total turtle numbers
  create-bikes round (0.3 * num-turtles)
  [ set color gray
    setxy random-xcor random-ycor
  ]
  create-cycles round (0.3 * num-turtles)
  [ set color blue
    setxy random-xcor random-ycor
  ]
  create-cars round (0.4 * num-turtles)
  [ set color green
    setxy random-xcor random-ycor
  ]
end
然而,您可能希望每个补丁都有一只海龟(如果我正确解释了您对细胞自动机的请求)。在这种情况下,您需要以下内容:

breed[bikes bike]
breed[cycles cycle]
breed[cars car]

to setup
  ask patches
  [ let xx random-float 1
    ifelse xx < 0.3 [ sprout-bikes 1 [ set color gray ] ] [
    ifelse xx < 0.6 [ sprout-cycles 1 [ set color blue ] ] [
                    [ sprout-cars 1 [ set color green ] ] ] ]
  ]
end
品种[自行车]
繁殖[周期]
品种[汽车]
设置
询问补丁
[让xx随机浮动1
ifelse xx<0.3[萌芽自行车1[设置灰色]][
ifelse xx<0.6[发芽周期1[设置蓝色]][
[sprout cars 1[设置绿色]]]
]
结束

我强烈建议您在尝试编写下一部分代码之前,先学习NetLogo网站上的在线教程,因为您缺少一些基础知识。例如,
count turtles
是一个报告已经存在的海龟数量的指令。您需要理解接口和代码之间的连接。您可能还应该查看一些示例模型。

请发布您目前拥有的内容。你需要一个
品种
语句,你需要一些语句,如
创建汽车10
品种[自行车]品种[汽车]品种[循环]来设置清除所有询问补丁[sprout 1[设置品种(列出自行车-汽车循环之一)]询问自行车[设置颜色灰色]询问汽车[设置颜色蓝色]询问循环[设置绿色]]]Sprout creat car中的end不起作用,因为它是观察家。我只想要30%的海龟有繁殖自行车,30%的海龟有繁殖周期,40%的海龟有繁殖汽车。我需要基于细胞自动机的模型。@Aisha欢迎使用Stack Overflow!当你的代码粘贴到这样的注释中时,很难阅读你的代码。Ple请编辑您的原始问题,并在那里添加代码。然后我们将能够帮助您。请参阅“确定”。在Sprout creat car中,它不能像观察者那样工作。我只希望30%的海龟使用繁殖自行车,30%的海龟使用繁殖周期,40%的海龟使用繁殖汽车。我需要基于我的模型细胞自动机。您在这里使用了随机浮动。我这是可能的,如果我计算海龟总数,然后随机0.3%的海龟应该有自行车,0.2%的自行车和0.5%的汽车。每个补丁上有一只海龟。
random float 1
返回一个从0到1的数字(并将其放入我代码中的变量xx中)。然后,您可以根据自己的喜好对范围进行细分。因此,如果您想要30%的自行车、20%的自行车和50%的汽车,则范围为0到0.2、0.2到0.5和0.5到1。因此,只需将代码中的0.6更改为0.5即可。