【发布时间】:2023-03-19 10:55:01
【问题描述】:
我正在用Netlogo写模拟,我需要比较变量在两个不同时刻t和(t-1)的值(特定乌龟),你能给我建议吗?
【问题讨论】:
标签: netlogo
我正在用Netlogo写模拟,我需要比较变量在两个不同时刻t和(t-1)的值(特定乌龟),你能给我建议吗?
【问题讨论】:
标签: netlogo
您需要存储滞后值(例如,在海龟属性中)。例如,
turtles-own [x xlag]
to setup
ca
crt 1 [set x random-float 1.0]
end
to go
ask turtles [set xlag x]
ask turtles [set x random-float 1.0]
ask turtle 0 [show x - xlag]
end
【讨论】:
@Alan : 谢谢你的建议,我不确定我是否理解你的回答,嗯,我试着模拟公司决定招聘或不招聘员工的决定;这是我根据您的建议编写的代码:
firms-own [
number-emplyed-now number-employed-previously
salary-offers
]
households-own[
desired-salary]
to setup
create-firms 1
set [ number-emplyed-now floor( turnover / salary-offers) ]
end
to go
ask firms [ set number-employed-previously number-emplyed-now ]
ask firms [ set number-emplyed-now floor( turnover / salary-offers)]
ask firms [
If number-emplyed-previously < number-employed-now
[ask households with desired-salary < salary-offers
n-of (number-employed-now - number-emplyed-previously)
set color red ]
]
end
【讨论】:
clear-all,在设置结束时需要reset-ticks,在运行结束时需要tick。如果你不明白为什么,我建议你再做一次 NetLogo 教程,以了解时间的流逝。 (2)你可以把你在go过程中的ask firms合并成一个问公司`(3)你的第三个ask firms意味着每个满足你条件的公司都会问所有相关的家庭——这是你想要的吗? (4) 你的n-of 应该...
myself 来访问公司的变量值