Netlogo中的简单分支过程模拟
我想做一个分支过程的简单模拟。我有两种类型的细胞,SC和CM SC->SC+SC,概率为p1 SC->SC+CM,概率为p2 SC->CM+CM,概率p3 SC->模具,概率p4 CM->CM+CM,概率为p5 CM->模具。概率为p6 到目前为止,我已经成功地创建了两种类型的品种,并用setup按钮命令设置了初始概率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
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?我已经通过使用全局变量解决了这个问题…太好了。请回答您自己的问题,以便有解决方案的记录,或者删除该问题,以便它不会在将来的搜索中显示。