Netlogo中的简单分支过程模拟

Netlogo中的简单分支过程模拟,netlogo,Netlogo,我想做一个分支过程的简单模拟。我有两种类型的细胞,SC和CM SC->SC+SC,概率为p1 SC->SC+CM,概率为p2 SC->CM+CM,概率p3 SC->模具,概率p4 CM->CM+CM,概率为p5 CM->模具。概率为p6 到目前为止,我已经成功地创建了两种类型的品种,并用setup按钮命令设置了初始概率 breed [SCs SC] breed [CMs CM] SCs-own [p1 p2 p3 p4] CMs-own [p5 p6] to setup

我想做一个分支过程的简单模拟。我有两种类型的细胞,SC和CM

SC->SC+SC,概率为p1

SC->SC+CM,概率为p2

SC->CM+CM,概率p3

SC->模具,概率p4

CM->CM+CM,概率为p5

CM->模具。概率为p6

到目前为止,我已经成功地创建了两种类型的品种,并用setup按钮命令设置了初始概率

breed [SCs SC]
breed [CMs CM]       

SCs-own [p1 p2 p3 p4]

CMs-own [p5 p6]

to setup
  clear-all               
  set-default-shape SCs "circle" 
  set-default-shape CMs  "circle"    
  create-SCs 50
  create-CMs 50

  ask SCs [ setxy random-xcor random-ycor
    set color red
    set p1 0.15 ;; 2 SC
    set p2 0.15 ;; SC + CM
    set p3 0.4 ;; CM + CM
    set p4 0.15 ;; die
    set size 1
     ]

  ask CMs [ setxy random-xcor random-ycor
    set color blue
    set p5 0.3 ;; CM + CM
    set p6 0.7 ;; die
    set size 1
     ]  

  reset-ticks
end
然后创建go命令按钮,使用“全部移动”和“复制”过程

to go
  move-all
  reproduce
  tick
end
to move-all
  ask turtles [
    right random 90
    left random 30
    forward 1
  ]
end
这是移动所有程序

to go
  move-all
  reproduce
  tick
end
to move-all
  ask turtles [
    right random 90
    left random 30
    forward 1
  ]
end
现在,问题在于REPLACED命令。我想要求CM进行图案填充,但基于p2和p3中SC的属性。我对标记的命令有一个运行时错误。这是密码

to reproduce
  ask SCs [
    if random-float 1 < p1 [
      hatch 1 
    ]

    if random-float 1 < p4 [
      die 
    ]

  ]

    ask CMs [
      if random-float 1 < p5 [
        hatch 1 
      ]

      if random-float 1 < p6 [
        die
      ]

      ;runtime error with this block 
      ;p2 and p3 belong to SC, but I want to hatch 1 CM and 2 CM

      ;if random-float 1 < p2 [ 
      ;  hatch 1
      ;]

      ;if random-float 1 < p3 [
      ;  hatch 2
      ;]

    ]

end

有人能帮我解决这个问题吗?如何用p2和p3模拟流程?我相信大多数有经验的Netlogo用户都知道如何处理这个问题。谢谢…

p2和p3属于SC,但我想填充1厘米和2厘米-您想使用哪个SC的p2和p3?我已经通过使用全局变量解决了这个问题…太好了。请回答您自己的问题,以便有解决方案的记录,或者删除该问题,以便它不会在将来的搜索中显示。