modelica - 如何将 Dymola 实验开始时间和停止时间作为变量引用?
问题描述
对于简单的测试模型,我通常使用类似于以下的语法:
// 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,但这些值仅在第一次打开模型时设置,因此可能无法真正反映模拟的开始时间和停止时间。
解决方案
目前无法访问 Dymola 内部模拟的停止时间以在模型中使用,但您可以通过以下方式获取开始时间:
parameter Real startTime(fixed=false);
initial equation
startTime=time;
请注意,如果您使用 Simulation>Continue>Continue,startTime
则不会更新,而是继续使用其原始值。
推荐阅读
- java - 如何从范围中排除零
- elasticsearch - Elasticsearch 索引逗号分隔值并将它们用作过滤器
- c++ - STL std::find() C++
- javascript - 在不调用 Blur() 函数的情况下模糊输入
- c++ - 玉米片实验中“*”标记之前的预期初始化程序
- spring - 如何在另一个基于弹簧的项目中自动连接弹簧数据存储库(没有弹簧数据上下文)
- node.js - Angular 9 和 SSR - 未定义窗口
- python - Kernel Size Defining and Activation Function in Keras
- react-native - 通过应用程序关闭获取 httponly cookie 持久性
- python - CORS 策略已阻止来自原点“null”:请求的资源上不存在“Access-Control-Allow-Origin”标头