【问题标题】:Draw distribution values from a parameter in AnyLogic从 AnyLogic 中的参数绘制分布值
【发布时间】:2017-06-14 20:28:41
【问题描述】:

如何在运行时更改从存储在参数中的分布绘制值?

例如,假设我的参数值为“三角形 (0.5 , 1 , 1.5)”。在我的模型中,此参数称为 parDelayUnloading。我的模型中有很多延迟都引用了相同的参数。我创建了这个参数是因为只在一个地方更改值比在每个“延迟”处更改值更容易。模拟开始时将分配一个值。

请注意,我希望每次新实体进入“延迟”框时刷新参数值。输入时:.....

我该怎么办?

谢谢!

【问题讨论】:

  • 您可以使用其特定的“set_”方法更改参数。如果您的参数被称为“myParameter”,那么您可以通过调用“set_myParameter(...)”来更改它。在参数中,您可以设置新的三角形分布或您喜欢的任何其他内容。所以在你的“onEnter”块中调用它。 (所有都可以在参数帮助中找到;-))
  • 但是这样做没有意义。因为它将始终具有相同的分布。我不需要更改分布,我只需要获得它的新值。好吧,如果这是唯一的方法,我更愿意在“延迟时间”字段中编写分布。否则我会设置参数“on enter”,然后在“Delay time”读取参数。
  • 啊,我明白了,您只是希望实体从分布中提取不同的值。请参阅下面的答案

标签: java agent anylogic agent-based-modeling


【解决方案1】:

如果您只想从分布中提取值并编码为参数,您只需在适当的 Java 代码块中调用该参数即可。因此,如果您需要其中的一个值用于进入延迟块的实体,您可以写agent.whateverINeedItFor = myParameter。后者会自动从您的分布中提取一个值。

希望这是有道理的。

【讨论】:

    猜你喜欢
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多