我正在使用BehaviourSpace进行模拟。在我的代码中,我将变量A(在这种情况下为近半径)设置为变量B(检测范围)的0.25,但在BehaviourSpace中,我将变量A设置为固定值,并且我有多个变量值
代码:
set near-radius detection-range / 4
行为空间:
["near-radius" 4]
["detection-range" 2 8 14 20]
当我运行这些模拟时,变量A会保持固定值4,还是根据我的代码而改变(变为0.5、2、3.5、5)?什么优先,代码还是行为空间?
答案 0 :(得分:3)
代码优先。考虑将BehaviorSpace提供的初始值提供给全局变量,或者将其提供为滑块或其他输入小部件上的值。如果您将名为my-slide的滑块设置为5,并且在代码中的某个位置显示set my-slide my-slide + 2
,则该滑块实际上将移动以反映全局变量的更新值。
要获得所需的灵活性,可以使用if [behaviorspace-run-number = 0] [set near-radius detection-range / 4]
或类似的名称。仅当模型不受BehaviorSpace控制时,这才会运行您的代码行。