对于简单的测试模型,我通常使用类似于以下内容的语法:

// Assuming the start time is 0 and stop time is 1
x = xMin + (xMax - xMin) * time;
y = f(x);

无论模拟设置如何都是正确的,我想使用:
x = xMin + (xMax - xMin) * (time - startTime) / (stopTime - startTime);
y = f(x);

但是,我不确定如何引用在 Simulation Setup/General 表单中定义的值。

我曾尝试简单地引用 StartTime、startTime、starttime、timestart、timeStart 等,但没有成功。

我知道可以使用注释设置 StartTime 和 StopTime,但这些值仅在第一次打开模型时设置,因此可能无法真正反射(reflect)模拟的开始时间和停止时间。

最佳答案

目前无法访问 Dymola 内部仿真的停止时间以在模型中使用,但您可以按如下方式获取开始时间:

  parameter Real startTime(fixed=false);
initial equation
  startTime=time;

请注意,如果您使用 Simulation>Continue>Continue,则 startTime 将不会更新,而是继续使用其原始值。

关于modelica - 如何将 Dymola 实验开始时间和停止时间作为变量引用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52401792/

10-17 00:16