2017-01-29 3 views
-1

実行時にパラメータに格納されたディストリビューションから値を引き出す方法を変更するにはどうすればよいですか?AnyLogicのパラメータから配布値を引き出す

たとえば、パラメータ値が「三角(0.5,1,1.5)」であるとします。私のモデルでは、このパラメータはparDelayUnloadingと呼ばれます。私は同じパラメータを参照する私のモデルに沿って多くの遅延があります。私はこのパラメータを作成しました。なぜなら、各「遅延」で実行するよりも、1つの場所で値を変更するほうが簡単だからです。シミュレーション開始時に値が割り当てられます。

新しいエンティティが「遅延」ボックスに入るたびにパラメータ化された値をリフレッシュしたいとします。入力:.....

どうすればよいですか?

ありがとうございました!

+0

特定の「set_」メソッドを使用してパラメータを変更できます。パラメータの名前が "myParameter"の場合は、 "set_myParameter(...)"を呼び出してパラメータを変更できます。議論では、新しい三角形の分布や好きなものを設定することができます。あなたの "onEnter"ブロックでそれを呼び出してください。 (すべてはパラメータのヘルプ;-)にあります) – Benjamin

+0

しかし、それをするのは意味がありません。常に同じ分布になるからです。私はそれの新しい価値を得るために必要なディストリビューションを変更する必要はありません。 これが唯一の方法であれば、「ディレイ時間」フィールドにディストリビューションを書きたいと考えています。さもなければ、私は "on enter"パラメータを設定し、 "Delay time"でパラメータを読んでいました。 – Leo

+0

ああ、エンティティが配布物とは異なる値を描きたがっているだけです。下の答えを見てください – Benjamin

答えて

0

ディストリビューションの値をパラメータにコード化する場合は、適切なJavaコードブロックでパラメータを呼び出すだけです。したがって、遅延ブロックに入る際にエンティティに使用する値が必要な場合は、agent.whateverINeedItFor = myParameterと書くことができます。後者は自動的にあなたの配布物から価値を引き出します。

希望は意味があります。

関連する問題