【问题标题】:netlogo turtles error with their valuesnetlogo 海龟错误与他们的价值观
【发布时间】:2014-12-12 17:30:29
【问题描述】:

我有两个代理:买家和卖家。买家拥有买家_价格,卖家拥有卖家_价格。当卖方价格

ask turtles [ if seller_Price <= buyer_Price [deal]]

但我变成了这个错误:

SELLERS breed does not own variable BUYER_PRICE
error while seller 34 running BUYER_PRICE
  called by procedure INTERACTION
  called by procedure GO
  called by Button 'STEP'

即使我将ask turtles 更改为ask buyyers 或ask sellers 也是一样的

谁能给我一些关于我的错误的提示,我应该改变什么?

【问题讨论】:

  • 该代码将由每只海龟一次运行一个。由于乌龟既不是买家也不是卖家,它只有seller_Price 或buyer_Price,但不能同时拥有。我假设每个买家都应该与某个卖家互动。每个人应该与谁互动?
  • 我没看懂最后一个问题,你能解释一下吗?

标签: netlogo turtle-graphics


【解决方案1】:

正如布赖恩所说,您可能希望选择一个潜在买家和潜在卖家(这样卖家就不会缺货等)。但是,如果您真的希望所有买家以合适的价格从所有卖家那里购买,您需要使用“我自己”的代码来访问询问者的变量。代码看起来像这样。

breed [buyers buyer]
buyers-own
[ buyer_Price ]

breed [sellers seller]
sellers-own
[seller_Price]

to setup
  clear-all
  create-sellers 5 [set seller_Price random-float 1]
  create-buyers 5 [set buyer_Price random-float 1]

  ask buyers
  [ ask sellers
    [ if seller_Price < [buyer_Price] of myself [print myself print self ]
    ]
  ]
end

我刚刚完成了一份打印声明,而不是您的交易程序。您可能希望将您的交易程序变成一个仅在两只指定的海龟之间进行交易并将 self 和我自己传递给该程序的程序。

【讨论】:

  • 还有一个问题,我在交易过程中有此代码:询问卖家 [设置 ownCosts ownCosts + (seller_Price - deal_Price)] 但我也收到此错误命令:+ 预期输入为数字但得到列表 [] 代替。卖方 40 运行时出错 + 由程序调用 DEAL 由程序调用 INTERACTION 由程序 GO 调用,由按钮“GO”调用。你能说这里有什么问题吗?
  • 我怀疑您在“-”的一侧或另一侧遗漏了一个空格,因此 netlogo 正在读取支持的材料作为两个变量的列表。如果您所做的只是加减,则根本不需要括号。您是否使用绿色勾号来检查您的语法?
  • 是的,不是语法错误,我不知道原因:(
  • @runle:如果您有新问题,请打开一个新问题,而不是在这里添加它
  • 我每天只能问一个问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多