从主实验获取变量结果到参数变化实验 - AnyLogic

Posted

技术标签:

【中文标题】从主实验获取变量结果到参数变化实验 - AnyLogic【英文标题】:Getting variable result from the Main experiment to the Parameters Variation experiment - AnyLogic 【发布时间】:2021-02-02 04:53:13 【问题描述】:

我在主要实验中有一个参数,我想对其运行几个变体,并比较一个变量“Patients”的结果,该变量在所有运行中保持每个月的患者总数。我在 Main 中创建了一个数据集 Pats 来存储变量结果,并在参数变化实验中创建了另一个名为 datasetExp 的数据集,我试图在其中存储主要的“Patients”var。每次运行后的结果,通过放置表达式 datasetExp.add(root.Pats);但我收到错误消息:“类型 DataSet 中的方法 add(double) 不适用于参数 (DataSet)”

有人知道为什么会这样吗?非常感谢

【问题讨论】:

【参考方案1】:

您正在尝试将数据集 (main.Pats) 添加到 ParameterVariation.datasetExp 中的另一个数据集。这没有意义。

查看 AnyLogic 帮助中的数据集是什么:保存 x/y 值对的数据结构。所以你只能添加双精度值,而不是整个数据集。

首先,将您的 main.Pats 更改为 int 或 double。

接下来,在运行结束时将其添加到您的 ParameterVariation.datasetExp

注意:这假设您不为每个 ParamVariation 使用复制。

但是,您应该这样做,并且有各种示例模型向您展示了如何做到这一点。

【讨论】:

以上是关于从主实验获取变量结果到参数变化实验 - AnyLogic的主要内容,如果未能解决你的问题,请参考以下文章

Anylogic - 实验中的计数变量

参数变化:固定,但运行的种子不同

[高项]实验设计VS敏感性分析

带有代理统计信息的参数变化实验期间的NullPointerException

实验七——函数定义及调用总结

实验七——函数定义及调用总结