differential-equations - 如何访问modelica中的时间变量

标签 differential-equations modelica

我想在 Modelica 中建模一个显式时间相关的微分方程。

说我想建模

Real x(start=1);
der(x) = t;

在 Modelica 中。访问时间变量 t 的正确方法是什么?

最佳答案

Modelica 中的时间变量称为 time它可以在任何模型或块中访问(但不能在包、记录、连接器或函数中访问)。

另外,不要使用 start属性我建议使用初始方程。因此,您的完整模型将如下所示:

model FirstOrder
  Real x;
initial equation
  x = 1;
equation
  der(x) = time;
end FirstOrder;
initial equation 中的方程部分仅用于求解状态的初始值。上面显示的等式是微不足道的,但你可以做一些有趣的事情,比如:
model FirstOrder_IC2
  Real x;
initial equation
  x*x*x = 3.0*time+7.0;
equation
  der(x) = time;
end FirstOrder_IC2;

这里的重点是,除了直接指定状态值的方程之外,您还可以使用其他方程。上面的初始方程在“物理”上并不有趣,但在数学上是因为它是非线性和时变的(即对模拟的开始时间敏感)。

关于differential-equations - 如何访问modelica中的时间变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6963112/

相关文章:

c++ - 限制 boost::odeint 集成中的步骤数

cuda - 用 CUDA 求解二维扩散(热)方程

modelica - 分配到连接器

user-interface - Modelica:检查可替换包或模型的相等性

git - 排除 .gitignore 中包含特定文件的目录

modelica - 如何在 Dymola/Modelica 的启动路径中添加自定义包?

c - 如何查阅具有许多参数和谐波函数的 GSL ODE

python - 用 scipy 解决颂歌系统 - 如何引用不同的索引?

python - 求解 ODE 的 python 时出错

modelica - 在 Modelica 中访问记录参数而不声明记录实例