Netlogo 如何在同一补丁上编码卖家和买家之间的交易?

Netlogo 如何在同一补丁上编码卖家和买家之间的交易?,netlogo,Netlogo,我必须在Netlogo中编写一个卖家-买家模型。我已经完成了其中的一些部分。 但在计算“成交价格”和其他一些过程中存在一些问题。 问题是我不太懂Netlogo的编程语言,以至于无法对所有模型进行编码 我必须在卖方和买方之间解决一个交易价格,他们必须在一个补丁中。每个卖家都有自己的成本,每个买家都有自己的效用。当卖方价格=买方价格时,他们有成交价格。该交易价格必须低于买方的自身效用,高于卖方的自身成本(两者在同一块)。所有这些都发生在“互动”过程中 我将其编码为: to interacti

我必须在Netlogo中编写一个卖家-买家模型。我已经完成了其中的一些部分。 但在计算“成交价格”和其他一些过程中存在一些问题。 问题是我不太懂Netlogo的编程语言,以至于无法对所有模型进行编码

我必须在卖方和买方之间解决一个交易价格,他们必须在一个补丁中。每个卖家都有自己的成本,每个买家都有自己的效用。当卖方价格=买方价格时,他们有成交价格。该交易价格必须低于买方的自身效用,高于卖方的自身成本(两者在同一块)。所有这些都发生在“互动”过程中

我将其编码为:

    to interaction

      ask sellers [
       set seller_Price 0]

      ask buyers [
      set buyer_Price 0]

      ask buyers [ 
         if buyer_Price > ownUtility [
         set buyer_Price buyer_Price < ownUtility ]]

      ask sellers [
         if seller_Price < ownCosts [
         set seller_Price seller_Price > ownCosts ]]
end
这里有我的问题,因为有了这些代码,我的模型没有结果,也无法运行。
有人能帮我吗?

这不是一个问题,而是一堆问题。我会尽量说一些有用的话,至少可以解决你所面临的一些问题,但在将来,如果你问一些具体的问题,然后单独问,会更好。如果你能用一句话来概括,你就会知道这是一个好问题。如果你的总结是“帮助我编写代码”,那么这可能不是一个真正的问题

设置买方价格买方价格
将根据比较结果将
买方价格
设置为
。我不认为那是你的本意;您可能打算将其设置为一个数字。不过,我不能从你的问题中看出你想要什么号码。您写道,“此交易价格必须低于买方的自身效用,高于卖方的自身成本”。你想要一个在这个范围内的随机数,还是什么

至于你的
交易
程序,stein博士在评论中谈到了这一点,但是,也许你想要这样的东西:

to deal
  ask patches with [any? buyers-here and any? sellers-here] [
    ask buyers-here [
     set ownUtility ownUtility + (buyer_Price - deal_Price)
    ]
    ask sellers-here [
      set ownCosts ownCosts + (seller_Price - deal_Price)
    ]
  ]
end
这是不完整的,因为它不包含任何计算
deal\u Price
的代码,但希望您可以自己提供该部分


最后,一些更一般的建议。通过一次编写一个大程序,你可能试图一次学到太多东西。编写一个非常小的程序;让它工作起来;尝试对其进行一个很小的改进,并使其发挥作用;等等如果您在任何时候遇到问题,请过来,展示您的代码,并提出一个具体的问题。

您能更具体地说明错误吗?如果你只是想知道“如果一个补丁中有买家和卖家”,我建议写“询问补丁[如果有买家,这里有卖家[…做你想做的任何事]”,如果问题是另一个,请更具体一些!更具体地说,我可以说我在编码语言方面有问题,我不知道我必须如何编码进程,以及我必须使用哪些命令。例如:我的交易价格必须介于卖方的自有成本和买方的自有效用(两者在同一补丁中)之间。我该怎么编码呢?首先谢谢你的回答。第二,我想说的是,我必须编写一个模型,它是为我的研讨会主题提供的,这不是我的选择。我必须对我的任务进行编码,我明白。但是不管你的最终目标是什么,构建一个大型程序的最简单和最好的方法就是通过小步骤。即使是专家级程序员也不会坐下来一次编写一大堆代码。正如我所建议的,它们是一小步进行的。对不起,我以为我删除了我的评论,这就是为什么我在编写这些代码时再次写下所有内容来描述我的模型的情况:询问卖家[set sellers\u Price sellers\u Price>ownCosts]我收到以下错误消息:>运算符只能用于两个数字、两个字符串,或两个相同类型的代理,但不在真/假和数字上。卖方26运行时出错>按程序调用交互按程序调用GO按按钮调用“GO”这是什么意思?要问新问题,请打开新问题。不要在现有问题上附加评论。
to deal
  ask patches with [any? buyers-here and any? sellers-here] [
    ask buyers-here [
     set ownUtility ownUtility + (buyer_Price - deal_Price)
    ]
    ask sellers-here [
      set ownCosts ownCosts + (seller_Price - deal_Price)
    ]
  ]
end