【问题标题】:Trying to use dynamic and action parameters尝试使用动态和动作参数
【发布时间】:2021-04-15 08:45:48
【问题描述】:

最近我偶然发现了本杰明·舒曼的一段视频,标题为:What are dynamic and action parameters and when should you use them in your AnyLogic model

我尝试针对我的一个问题进一步调整动态和基于动作的参数的功能。提醒一下,我对 Anylogic 还很陌生(只完成了那本书,以及一些小项目和教程),并且在 Java 方面表现不错(自从我一直在积极地使用 Java 工作已经有几年了,但现在开始回到[仍然生锈])。 关于我的实际问题,视频中舒曼先生有一个具有三个参数的代理。一静一动一动。除此之外,他在他的代理中设置了一个变量(双精度)。在他的主要是一个按钮,用于在参数的帮助下增加变量的值并跟踪控制台中的行(= 如果通过了变量的某个阈值,则给出一个字符串)。

我创建了一个类似的设置,但是我在编译时偶尔会遇到很多变量错误。

这里有一些示例代码sn-ps:

动态参数p_Station String类型

v_myFahrt < 222 ? "Wiesbaden Hbf" : 
v_myFahrt < 442 ? "Wiesbaden-Biebrich Bahnhof Wiesbaden Ost"    :
v_myFahrt < 663 ? "Wiesbaden-Mainz-Kastel Bahnhof"  :
"Hochheim (Main) Bahnhof"

因此我的变量称为 v_myFahrt,一个初始值为 0 的双精度数

动作参数 p_durchFahrt 与默认动作:

v_myFahrt = v_myFahrt + 220;

和我的主按钮:

myAgent.p_durchFahrt();
traceln(myAgent.p_Station());

所以基本上它与参考中的代码有些相似。我试图为动态参数(不同的字符串和值)添加一组不同的“代码”以及为动作参数添加不同的“代码”(例如 + 208 而不是 + 220)的代理的另一个实例。然后想要再次使用按钮跟踪控制台中的行。 我尝试添加

myAgent1.p_durchFahrt(); traceln(myAgent1.p_Station());

到它。 但在我运行它之前,我不断收到 myAgent1 的错误“v_myFahrt 无法解析为变量”。使用新添加的 p_Station 代码检查它一直引用 myAgent1 的错误,我似乎找不到解决方法。

我在这里做错了什么?

【问题讨论】:

    标签: anylogic


    【解决方案1】:

    看起来您已经在 main 中创建了 v_myFahrt,对吧? (这可以解释你的症状)。 如果是,您应该改为在 MyAgent 中创建它。

    【讨论】:

    • 您好,感谢您的回复。我确实在 myAgent 中创建了 v_myFahrt 变量。当只有一个 myAgent 实例时,它也可以工作。但是,如果我创建第二个(myAgent1),然后在与按钮交互时(甚至在编译代码时)运行模型,它只会不断给我错误。
    • 好的,您是否将 v_myFahrt 指定为您的 p_Station 动态参数的参数? p_durchFahrt 也是如此
    猜你喜欢
    • 1970-01-01
    • 2020-11-15
    • 1970-01-01
    • 2017-06-15
    • 1970-01-01
    • 2019-01-14
    • 1970-01-01
    • 1970-01-01
    • 2017-01-15
    相关资源
    最近更新 更多