当前位置: 首页 > 知识库问答 >
问题:

如何知道执行任何逻辑模型之前剩余的时间

黄景胜
2023-03-14

是否有任何方法可以知道任何逻辑模型使用traceln实时完成其执行之前剩余的时间。

我试图使用vba触发anylogic模型jar文件

共有2个答案

汤修贤
2023-03-14
double remaingTimeSeconds=getEngine().getStopTime(SECOND)-time(SECOND);
traceln(remaingTimeSeconds);

更一般地说,如果您的模型没有从t=0开始,那么您可以执行以下操作来获得剩余进度:

double totalSimTimeSeconds=getEngine().getStopTime(SECOND)-getEngine().getStartTime(SECOND);
double timeSinceStartSeconds=time(SECOND)-getEngine().getStartTime(SECOND);
double remaingingTimeSeconds=totalSimTimeSeconds-timeSinceStartSeconds;
double fractionRemaining=remaingingTimeSeconds/totalSimTimeSeconds;

traceln(fractionRemaining*100+"%");
董和泽
2023-03-14

我想您想知道模型执行所需的实时时间,并向我们显示进度条。Felipe演示了如何根据sim实验中设置的开始时间和结束时间以及当前模拟时间来计算模拟时间。

我认为没有一种简单的方法可以做你想做的事。根据反复试验,您可以在模型中插入一些traceln,并使用它来计时进度条。尽管它会根据您的输入而改变。甚至你在microsoft应用程序/安装上看到的进度条也不太准确,所以这从来都不容易。

 类似资料:
  • 问题内容: 如何获取util.Timer中剩余的时间?我想做的是添加一个进度条,显示直到计时器重新开始之前剩余的时间。 这就是我到目前为止所得到的: 问题答案: 您将需要第二个计时器以特定间隔刷新gui。 实现此目的的另一种方法是每秒激活一个计时器并更新ui中的计数。如果时间到了,请致电您的具体措施。 一个仅带有控制台输出的简单示例: 它的输出将是: 然后只需使用代码更改System.out即可更

  • 在写单元测试中,我想抽象一个通用的函数,避免重复书写。函数的定义如下: 但是我不知道如果建立 fn 函数参数的类型和 source 类型之间的联系。 请问要怎么写才可以让 source 的类型等于 fn 参数类型的数组?

  • 使用rendered并不能保证 dispatchAction成功执行。 换为 setTimeout(() => {}, 1000); 才行。 如何才能确认什么时候满足执行 dispatchAction的条件呢?

  • 问题内容: 我想通过查看算法的运行时性能来测试哪种数据结构是最佳的,我该怎么做? 例如我已经有一个; 假设我有我的,我想知道下面的语句需要多长时间来执行:。 我该如何计时? 谢谢! 问题答案: 首先看一下我对这个问题的回答;它包含一个可移植的(windows/linux)函数,以毫秒为单位获取时间。 接下来,执行以下操作: 全做完了!(请注意,我没有尝试编译它)

  • Navicat Data Modeler 让你创建逻辑模型,包括实体、属性和关系。 若要创建一个逻辑模型,从菜单栏选择“文件”->“新建”。在“新建模型”窗口中,选择“模型类型”为“逻辑”。 你也可以使用下列的功能来创建一个逻辑模型: 从数据库导入 - 从现有的数据库/模式或 ODBC 数据源逆向工程。 模型转换 - 从一个物理或概念模型转换。

  • Navicat Data Modeler 让你创建逻辑模型,包括实体、属性和关系。 若要创建一个逻辑模型,从菜单栏选择“文件”->“新建模型”。在“新建模型”窗口中,选择“模型类型”为“逻辑”。 你也可以使用下列的功能来创建一个逻辑模型: 从数据库导入 - 从现有的数据库/模式或 ODBC 数据源逆向工程。 模型转换 - 从一个物理或概念模型转换。