我读了与我类似的其他问题,但我仍然无法弄清楚该怎么做我的模型。 让我解释。我有两个品种。
breed [distributers distributer]
breed [suppliers supplier]
distributers-own [dproductASales]
suppliers-own [sproductASales]
我需要将分销商的变量分配给供应商,但它有错误。
to sales-decision
set sproductASales dproductASales
我该怎么做? 感谢
答案 0 :(得分:1)
您希望sales-decision
的上下文是什么?由于您说set sProductASales
,因此您选择了supplier
上下文。好的,所以你会要求供应商将这个变量设置为......什么?您不能说dproductASales
因为它既不是全局变量也不是供应商属性。如果您想参考经销商的dproductASales
,那么您必须我们of
并指定其中的哪一个(即使只有一个)。例如:
breed [distributers distributer]
breed [suppliers supplier]
distributers-own [dproductASales]
suppliers-own [sproductASales]
to sales-decision ;supplier procedure
set sproductASales [dproductASales] of one-of distributers
end
to test
ca
create-distributers 2 [
set dproductASales one-of [2 4]
]
create-suppliers 10 [
sales-decision
]
end
答案 1 :(得分:0)
另一种选择,如果你不想使用全局变量(在我看来,如果值不受分销商的影响,我认为可行的方法)将是一个补丁拥有的变量,如“PdAs”和:
ask patches with [count distributors-here > 0]
[
ask one-of distributors-here
[set PdAs dproductASales]
]
ask suppliers
[
set sproductASales PdAs
]
代理商可以访问补丁变量,因此您的供应商可以直接查询它,就像它是一个全局变量一样,但是如果你走这条路线,你可以选择让它在空间上明确(比如将来你想要这个能力)拥有不同的经销商产品销售价值并让供应商获得当地价值)。