MAS コミュニティ
artisoc質問用掲示板

質問 (解決済み)

[artisocモデル] 指定したX軸またはY軸上に存在しているエージェント数の取得
質問者: caterhamさん , 質問日時: 2017/10/12 19:43
タイトル通りになるのですが、指定した任意のX軸上またはY軸上に存在しているエージェントの数を取得する方法を知りたいです。

ご教授お願い致します。



▼解決した回答


関数で処理することは難しいため、以下の方法などが考えられます。
A.個々のエージェントに報告させて数える。
B.Universeのルールのなかで、個々のエージェントを確認し数える。

例えば、任意のX座標上について、Aの場合
Agt_Step{
If My.X == 任意のX座標 Then
Universe.任意のX座標にいるエージェント数 = Universe.任意のX座標にいるエージェント数 + 1
End if
}

同じくBの場合、
Universe.Step_End{
Dim i As Integer
For i = 0 to CountAgt(Universe.hiroba.hito) -1
If Universe.hiroba.hito(i).X == 任意のX座標 Then
Universe.任意のX座標にいるエージェント数 = Universe.任意のX座標にいるエージェント数 + 1
End if
Next i
}

回答者: igaguri さん , 回答日時: 2017/10/12 20:12

▼ 全ての回答


関数で処理することは難しいため、以下の方法などが考えられます。
A.個々のエージェントに報告させて数える。
B.Universeのルールのなかで、個々のエージェントを確認し数える。

例えば、任意のX座標上について、Aの場合
Agt_Step{
If My.X == 任意のX座標 Then
Universe.任意のX座標にいるエージェント数 = Universe.任意のX座標にいるエージェント数 + 1
End if
}

同じくBの場合、
Universe.Step_End{
Dim i As Integer
For i = 0 to CountAgt(Universe.hiroba.hito) -1
If Universe.hiroba.hito(i).X == 任意のX座標 Then
Universe.任意のX座標にいるエージェント数 = Universe.任意のX座標にいるエージェント数 + 1
End if
Next i
}

回答者: igaguri さん , 回答日時: 2017/10/12 20:12

MASコミュニティ
掲示板TOP







Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
( 会社情報 情報セキュリティ・個人情報について )