我必须在Netlogo中编写SELLERS-BUYERS模型。我已经完成了部分内容。 但是计算交易价格会带来一些麻烦。和其他一些过程。 问题是我不熟悉Netlogo的程序语言,以便编写所有模型。
我必须在卖家和买家之间达成协议 - 他们必须在一个补丁中。每个卖家都有自己的成本,每个买家都有自己的实力。当seller_Price = buyer_Price时,他们有deal_Price。而且这笔交易_Pice必须低于买方的自己的实力和卖方的自己的成本(在同一补丁中)。所有这些都发生在"互动"过程
我这样编码:
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
结果买家和卖家(他们在同一个补丁中)必须交易。我试着编码&#34;交易&#34;过程如此:
to deal
if thera buyer and seller in one patch (its probably false)
ask buyers [
set ownUtility ownUtility + (buyer_Price - deal_Price)]
ask sellers [
set ownCosts ownCosts + (seller_Price - deal_Price) ]
end
这里有我的问题,因为有了这些代码,我的模型没有结果,也没有运行。 有谁可以帮助我?
答案 0 :(得分:1)
这不是一个单一的问题,而是一堆问题。我会尝试说一些有用的东西,至少解决你所面临的一些问题,但将来,如果你提出具体问题并分别提出问题,情况会更好。如果你能用一句话来概括它,你就会知道它是一个很好的问题。如果您的摘要最终成为&#34;帮助我对此进行编码,那么它可能不是真正的问题。
set buyer_Price buyer_Price < ownUtility
会将buyer_price
设置为true
或false
,具体取决于比较结果。我不认为这是你的意图;你可能打算把它设置成一个数字。不过,我无法从你的问题中告诉你想要什么号码。你写道,“而这笔交易_Preice必须低于买方的自己的实力和卖方的自己的成本之上”。您想要该范围内的随机数,还是什么?
关于你的deal
程序,dr_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_Price
的代码,但希望您可以自己提供该部分。
最后,一些更一般的建议。你可能会一次写一个大程序,试图一次学习太多东西。写一个非常小的程序;让它运作;试图对它做一个非常小的改进,并使其工作;等等。如果您遇到困难,请到此处,显示您的代码,并询问有关它的具体问题。