对于简单的测试模型,我通常使用类似于以下内容的语法:
// 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/