2014-12-16 3 views
1

Моих продавцов установить trade_Price с этим кодом:попросить одного агента установить, чтобы получить значение от другого агента установить

ask buyers [ ask sellers [if any? buyers-here [ if seller_Price <= [buyer_Price] of myself 
     [ set trade_Price seller_Price + random ([buyer_Price] of myself - seller_Price) ]]]] 

Я хочу, чтобы мои покупатели также приняли тот же trade_Price, если они есть продавец в одном патче. (если есть какие-либо продавцы - здесь). и я его код так:

ask sellers [ ask buyers [if any? sellers-here [set trade_Price ([trade_Price] of myself)]]] 

Я думаю, что его неверный код, потому что я получил разные trade_Price s из моих пар агента. У вас есть идеи, как я могу установить его? Лучшие Reagrds

ответ

1

Насколько я могу судить, вы пытаетесь что-то вроде этого:

ask buyers [ 
    let candidate one-of sellers-here 
    if candidate != nobody [ 
    set trade_Price [trade_Price] of candidate 
    ] 
] 

Обратите внимание, что нет ask sellers вокруг этого. Вы хотите, чтобы каждый покупатель запускал это каждый раз через go.

Обратите внимание, что если на патче есть несколько продавцов, one-of sellers-here выбирает один случайным образом.

+0

спасибо, он работает :), и у меня есть еще один вопрос. в некоторых заплатах у меня есть «одинокий» продавец без покупателя или одинокий покупатель без продавца. в этом случае я кодирую его так, чтобы их trade_Price равнялся 0. В сюжете я хочу показать trade_Price. Я кодирую его так: plot mean [trade_Price] черепах будет ли он вычислять trade_Price, которые равны 0 или? Я хочу, чтобы он вычислял только trade_Prices, которые> 0. Как я могу закодировать его в сюжете? – runle

+0

Если мой ответ работает, то вы можете поблагодарить меня, приняв его (используя большую галочку рядом с ним). Чтобы задать новый вопрос, откройте новый вопрос. –

+0

Я могу задать только один вопрос за 90 минут :( – runle