我有两个针对海龟的程序,但是我需要随机数量的海龟来执行其中一个程序,另一个随机数量的海龟在相同的部分执行另一个程序。
假设我有40只海龟,我有以下步骤:
to move
ask turtles [
rt random-float 90 - random-float 90
fd 1
]
end
to bounce
ask turtles
[
if [pcolor] of patch-at dx 400 = white [
set heading (- heading)
]
if [pcolor] of patch-at 400 dy = white [
set hea
我有一个海龟种群,我希望它们根据我给它们的‘偏向’(从1到5的值)创建到其他海龟的随机数量的链接。现在,如果没有足够的海龟有相同的“偏见”,那么我希望他们首先创建与具有相同偏见的海龟的链接,然后再创建到随机的其他海龟的链接。 到目前为止我已经弄明白了这一点 ask people [
set my_friends 1 + random (average-node-degree * 2)
create-links-to n-of my_friends other people with [bias = [bias] of myself]
] 但后来我遇
我对NetLogo很陌生,这就是我被困在这里几个星期的原因。
我想要做的是让经纪人成为4组中的2支球队。
我的计划是制作一个能容纳4只海龟的函数,
to assign-groupmates [a1 a2 a3 a4]
并把他们分配到第一队
assign-groupmates [a1 a2 a3 a4] =team1[]
if team1 > 4
assign-groupmates [a1 a2 a3 a4] =team2[]
我所做的是:
to assign-groupmates [ f g h i]
let A who random f
let B wh
当我的海龟越过一条特定的线时,我希望它们再孵化一次。我已经尝试过命令ifelse?,当我的海龟随机漫游时,我可以让它在一个简单的模型上工作:如果它们移动到左侧的一个补丁(xcor < 0),它们就会死掉,如果它们移动到xcor >0的补丁中,它们就会孵化1。
但我想让这些过程和他们的女巫补丁联系起来。如果他们站在xcor <0的补丁上,移动到另一个xcor <0的补丁,他们就会死--但是如果他们把xcor从负变为正--他们应该倍增(=孵化1)。我的问题是:是否有可能写一个代码字符串,“记住”海龟之前定位一个滴答,并利用它要么让海龟死卵繁殖?
{
to se
我正在尝试做一个公共交通模型,我想让海龟按照特定的时间表从特定的补丁类型中孵化出来
Ask patches with house [
create-traveler household-size [
setxy pxcor pycor
set color black
set shape "people"
]
]
还有一种方法可以让海龟在不同的斑块值范围内产卵吗?我想在路边的街道上产卵海龟,这条街从北到南,有4块宽,我想在随机的xcor上产卵海龟,但它的数量大于2或小于-2,不大于3或小于-3。
我只是不知道如何处理这个问题,因为补丁程序不能使用海龟上下文方法
我已经使用这个过程创建了海龟
file-open "C:/Users/.../netlogo.csv"
while [ not file-at-end? ] [
let data csv:from-row file-read-line
create-turtles 1 [
set size 0.1
setxy random-pxcor random-pycor
set codcatasto item 0 data
set set yExp item 1 data
]
]
现在,我想让海龟从另一个csv.
我是Netlogo的新手,已经被扔到了最深的地方。每只海龟都有一个可变的菌落,它是一个介于1-9之间的数字。我想让一张乌龟脸朝向它最近的邻居,它有和它一样的菌落数量。然后它会移动(该位工作正常)。目前我有
let newTurtle min-one-of other turtles [10]
let variableA [ask newTurtle [colony]]
ifelse colony = variableA newTurtle [face newTurtle] [rt random 360]
move-forward
这是可行的,并且让所有的海龟移动到一个中心位置:
let new
我想得到的具体重量的总和,只有在与海龟在其各自的摩尔附近的补丁。我的方法是在权重列表和二进制变量列表之间开发一个乘积之和。我为每个补丁创建了一个邻居权重列表。
Let weight_list [ 1 2 3 4 5 6 7 8]; weights of the moore neighborhood for specific patch
然后,我创建了一个带有二进制变量的列表(如果邻居补丁中有海龟,则为0),
ask patches with [ any? turtles-here ] [let turtle_present 1 ]
ask patches with [ not any?
我在地图上随机设置了一些海龟,然后他们必须改变斑块的颜色,以显示他们种植的时候,但是他们重叠,并改变其他海龟的颜色。为了解决这个问题,我要求not any? other turtles in-radius 6强迫他们分开,但这既不优雅,也不高效。怎样才能更好地让每只海龟都有自己的领地来创造一个人口更多的世界。
to setup
ca
resize-world 0 100 0 100
create-turtles 50
[ set size 1
set color 135
setxy random-xcor random-ycor
move-to one-
我有两组代理: retailerA和retailerB。以前,我使用breed来创建它们,但由于我想创建一个随机网络,其中它询问所有的海龟并随机选择一些要连接的海龟,我决定最好将海龟保存在随机网络代码中(在库中),并进行以下更改:
create-turtles 130 ; 100 of which are retailerA and 30 are retialerB.
现在,我希望每组代理都有不同的显示。RetailerA将随机散布,而retailerB应该显示在一个圆圈中。然而,下面的代码并没有做我想要的事情。
to A
create-turtles 100
set retailerA? t
我正在使用net徽标,我想问所有的海龟一些问题,但要分别应用到每只海龟:
to setup-t
ask turtles [
if color = white [ set t 99 ]
if color = red [ set t 92.4 ]
if color = orange [ set t 85.8 ]
if color = brown [ set t 79.2 ]
if color = yellow [ set t 72.6 ]
if color = green [ set t 66 ]
if
请参阅下面的代码,用于确定一些随机分布的未定居海龟(黑色)中的定居海龟群(红海龟和灰海龟)的数量,以及网络标识世界/界面中的最大、最小和平均集群大小(径向范围)。
globals[ cluster-size cluster-count cluster-size-growth cluster-count-growth ]
to setup
clear-all
ask patches [ set pcolor white ]
create-turtles 1000 [
set color black
set label-color blue
setxy ran
如果您运行以下代码: globals [ var ]
to setup
ca
create-turtles 10
[
set var random 10
]
reset-ticks
end 然后创建10个海龟的var变量的列表(使用show (list [var] of turtles ),该列表将包含10个相同的值,例如[ 4 4 4 4 4 4 4 4 4 4 ]。对于所有的海龟,set var random 10过程似乎都为该var变量分配了相同的值。 我应该输入什么代码,才能让每个海龟获得彼此相对不同的random 10值?
在netlogo的安装过程中,我有以下代码
set-default-shape Mappers "target"
create-mappers MappersCounterSlider
[
set color red
set size 1.5 ;; easier to see
set label-color blue - 2
set xcor 10
set ycor random 11
]
我需要将随机的11修改为我创建的每只海龟的一个特定值,例如,如果我有5只海龟,我想让5只海龟处于不同的5种固定位置。