我使用NetLogo为我的卖家买家模型编码。 当我对这部分进行编码时:
ask sellers [if any? buyers-here [set seller_Price seller_Price > ownCosts ]]
我收到此错误:
>运算符只能用于两个数字,两个字符串或两个 相同类型的代理,但不是TRUE / FALSE和数字。错误 而卖家73正在运行>由程序INTERACTION调用 通过按钮'GO'
调用的程序GO
有谁可以说我应该在代码中更改什么?
答案 0 :(得分:3)
目前还不清楚你想说的是什么,但看起来你希望seller_Price
是一个布尔值(因为seller_Price > ownCosts
必须返回一个布尔值),但是你也想把它与一个布尔值进行比较1号}})。你不能这样做。
以下是您可以执行的操作示例(在过程中)。
ownCosts
正如Seth指出的那样,如果你想将let mean-price mean [seller_Price] of sellers
ask sellers [set seller_Price max (list mean-price ownCosts)]
设置为一个数字,你必须确切地说明如何产生这个数字。在回复您的第二条评论时,如果您想将seller_Price
设置为最多seller_Price
的随机值,那么您只需执行此操作:
ownCosts + 2
有关详细信息,请参阅http://ccl.northwestern.edu/netlogo/docs/dictionary.html#random-float。
另外,只有fyi,在NetLogo社区中最常见的是连接变量名称(例如,ask sellers [set seller_Price (ownCosts + random-float 2)]
而不是own-costs
)。