标签: netlogo

netlogo 中的多个互斥事件和概率

考虑 netlogo 中可能发生的以下 5 个事件,

[abcdef] 每个事件都有特定的发生概率。说[0 0 0.3 0.5 0.1 0.1],即p(a) = 0, p(b) = 0, p(d) = 0.5

必须发生一个(且只有一个事件)。如何在 Netlogo 中对其进行建模。

我做了什么:

ask turtles 
[
 if random-float 1 < 0
[EventA]
if random-float 1 < 0.5
[EventD] ; and so on 


]
Run Code Online (Sandbox Code Playgroud)

但采用这种方法,有时不会发生任何事件,有时会发生超过 1 个事件。

probability agent netlogo probability-distribution

1
推荐指数
1
解决办法
202
查看次数

如何阻止海龟发芽但继续模拟

我正在 NetLogo 中实现 SFM。我很难在我的世界中设置固定数量的海龟。我用 sprout 基元创建了我的海龟(每个补丁 1 个),所以我不确定如何为所有海龟设置固定数量。我认为使用滑块是一个好主意,因为我想测试不同的情况,例如 400、500、600 等海龟,以分析它们疏散需要多长时间。

当然,当我在 go 程序中实现if count Turtles > 100 [stop] create_adults时,所有模拟都会停止。我不想让模拟停止。我只想停止创造海龟,这样世界上已有的海龟就可以继续移动。

这是我的程序:

to go
if ticks = 0 [reset-timer]
if random 100 > 30                                                                        
[repeat random 3  [create_adults]]
    tick
if count turtles > 400 [stop] create_adults
Run Code Online (Sandbox Code Playgroud)

这就是我创建海龟的方式:

 to create_adults
  let p one-of patches with [(pycor >= 1 and pycor <= 11 and pxcor = 3) and pcolor = violet + 2]      ; this is the beginning of my world                      
          ask …
Run Code Online (Sandbox Code Playgroud)

netlogo

1
推荐指数
1
解决办法
78
查看次数

如何用矩形中的另一种颜色替换颜色?

在与如何用多边形中的另一种颜色替换颜色相同的光学器件,我想用蓝色补丁替换蓝色矩形中包含的白色补丁:

我有蓝色矩形,如下图所示:

在此输入图像描述

我想要有如下蓝色矩形:

在此输入图像描述

通过color-white-patches-v2 [ c ]如何用多边形中的另一种颜色替换颜色,我获得了这个数字:

在此输入图像描述

并通过使用color-white-patches-v3 [ c ]我修改如下(因为我有这个错误消息OF expected input to be a turtle agentset or patch agentset or turtle or patch but got NOBODY instead.:

to color-white-patches-v3  [c]
ask patches with [ pcolor = white] [
if (patch-at 0 1 != nobody and [pcolor] of patch-at 0 1 = c) or (patch-at 1 0 != nobody and [pcolor] of patch-at 1 0 = c) …
Run Code Online (Sandbox Code Playgroud)

netlogo

0
推荐指数
1
解决办法
63
查看次数

NetLogo中的错误:未定义任何名为x的内容

我从NetLogo导出了一个景观.我在Netlogo中导入了相同的格局.从这个角度来看,我添加了另一个特定于补丁"驻留时间"的全局变量:

globals [
list-of-polygons ]

patches-own [ 
area-ha
residency-time 
]
Run Code Online (Sandbox Code Playgroud)

我创建了一个函数来为我的横向中的每个多边形指定驻留时间值

to assign-residency-times
set list-of-polygons ([ID-polygon] of patches)
set list-of-polygons remove-duplicates list-of-polygons 
set list-of-polygons remove 0 list-of-polygons
print sort list-of-polygons

foreach list-of-polygons [ 
ask patches with [ ID-polygon = ? ] [ 
if all? patches [pcolor = green] [ 
set residency-time exp(1.02 * area-ha) ]

.... ] ]
Run Code Online (Sandbox Code Playgroud)

我不明白为什么我有这个错误信息:Nothing named area-ha has been defined.但是,我定义了area-hadans patches-own.另外,当我检查补丁时,补丁特有的所有全局变量都消失了(见下图)!

在此输入图像描述

在此先感谢您的帮助.

netlogo

0
推荐指数
1
解决办法
1912
查看次数

Netlogo foreach 嵌套列表

我正在尝试将旧代码移植到最新版本(6.0.1),以下 foreach 循环在 Netlogo 4.1.3 上运行良好,但是当将代码复制并粘贴到版本 6.0.1 时,出现“item 0 ?” 不起作用。它说的是“?” 未定义。该行代码应该检索段内列表的项目

to setup-row [row colour segments]
  foreach segments
  [
      if pycor = row * row-patches-width and
        (pxcor >= col-patches-width * (item 0 ?)) and (pxcor <= col-patches-
         width * (item 1 ?))
          [set pcolor colour
            output-print item 0 ?]
  ]
end
Run Code Online (Sandbox Code Playgroud)

传入的“segments”变量包含以下列表:

  setup-row  4 blue [[-8 -5] [-3 -1] [0 3] [5 9]]
Run Code Online (Sandbox Code Playgroud)

如果代码工作正常,它应该使用 (item 0 ?) 检索 -8,使用 (item 1 ?) 检索 -5,依此类推。我在旧代码中假设的是“?” 是从 [-8 -5] 段中检索到的第一个列表,(项目 0 …

netlogo

0
推荐指数
1
解决办法
2285
查看次数

网标中的贴片可以有两种颜色,一种有时会隐藏吗?

我正在做一棵树在网络徽标中生长,我必须实现一个隐藏的树干。但是,当没有叶子并且有时隐藏在叶子后面并显示叶子颜色时,如何将补丁分配给树干颜色?

当我们站在一棵树前时,有时我们看不到上面的树干导致叶子。这就是我现在要建模的内容。

netlogo

0
推荐指数
1
解决办法
40
查看次数

NetLogo-如何将时间转换为数字?

我正在根据实际运营数据对生产计划进行建模。数据为我提供了轮班时间表,如下所示:

shift_start shift_end
0:10    4:00
4:00    6:00
8:00    11:00
11:00   13:30
13:30   17:00
18:30   23:30
Run Code Online (Sandbox Code Playgroud)

或其他格式为:

shift_start shift_end
0100    0400
0400    0600
0800    1100
1100    1330
1330    1700
1830    2330
Run Code Online (Sandbox Code Playgroud)

但是,这两种都不是从netlogo ticks函数中读取的好格式。如何将时间格式自动更改为如下所示的数字:

shift_start shift_end
10     240
240    360
480    660
660    810
810    1020
1110   1410
Run Code Online (Sandbox Code Playgroud)

还是netlogo中有内置功能支持时间读取?

整个数据集如下所示((项目5是班次开始时间,项目6是结束时间))我正在使用csv扩展方法读取整个集合

028W    028W0410    IB  0   1   250 360 0.48    2.78    14.98
028W    028W0800    IB  0   1   480 660 0.54    3.1 18.43
028W    028W1200    IB&OB   0.5 0.5 720 870 0.51    2.58    13.89
028W    028W1430 …
Run Code Online (Sandbox Code Playgroud)

time netlogo

0
推荐指数
1
解决办法
51
查看次数

在 Netlogo 模拟中将抽象值量化/转换为标准单位

我正在 NetLogo 中从事一个模拟项目,并遇到了有关某些值的量化的挑战。具体来说,我试图了解如何有效地将抽象模拟测量转换为现实世界的单位。以下是我的主要担忧:

时间转换:在 NetLogo 中,时间通常以“刻度”表示,但我不确定如何将其转换为现实世界的单位,如秒或小时。这种转换是否有标准方法或公式,或者它完全取决于模拟的上下文吗?

物理量:另一个方面是将模拟中“肌肉质量”等属性的抽象测量值转换为千克或克等现实单位。由于 NetLogo 本身并不定义这些单位,因此我不确定如何使这些转换有意义且准确。

我的问题是:

  • NetLogo 中是否有将这些抽象量转换为现实世界单位的指南?
  • 我应该为这些单位分配任意值,还是有更系统的方法来确保模拟的一致性和真实性?

您在 NetLogo 或其他模拟环境中进行类似转换的经验中有什么见解或示例吗?

netlogo unit-conversion

0
推荐指数
1
解决办法
51
查看次数

看不懂括号

我不太明白括号里的内容;NetLogo 要么说我缺少括号,要么需要括号。每当我尝试添加或删除括号时,它只会说另一个括号已损坏。单纯的代码是行不通的。有人帮忙!

globals [
  initial-trees  
  burned-trees ]    

breed [fires fire]      

to setup
  clear-all
  set-default-shape turtles "square" 
  ask patches with [(random-float 100) < density]
    [ set pcolor green ] 
  [ plants ]
  ask patches with [pxcor = min-pxcor]
    [ ignite ]
  set initial-trees count patches with [pcolor = green]
  set burned-trees 0
  reset-ticks
end

to go 
  if not any? turtles 
    [ stop ]
  ask fires
    [ ask neighbors4 with [pcolor = green]
     if random 100 < 50 [ignite]
       [ ask neighbors4 …
Run Code Online (Sandbox Code Playgroud)

netlogo

0
推荐指数
1
解决办法
89
查看次数

Netlogo:计算图/网络的直径(有两个 foreach)

作为对此(几乎)相同标题(Netlogo:计算图形/网络的直径)发布的问题的答案,用户 C.Bradley 确认:“我使用了两个 foreach 循环来计算一只海龟到其余海龟的路径”。我想问用户 C.Bradley 他是如何做到这一点的。注意:如果这不是问这个问题的正确方式,我很抱歉:我是 Stackoverflow.com 的绝对初学者(我本来想直接联系 C.Bradley,但我想这在平台上是不可能的,是吗?不是吗?)非常感谢。

netlogo graph-algorithm

-2
推荐指数
1
解决办法
81
查看次数