在modelica中集成函数

Tym*_*ymo 3 modelica openmodelica

我想在Modelica中执行除时间之外的变量函数的集成,但我不知道该怎么做.例如,如何评估x dx与上限5和下限2的积分?

?x dx=x^2/2
Run Code Online (Sandbox Code Playgroud)

小智 8

Modelica并不是像Maple,Mathematica或Matlab那样设计成CAS(计算机代数系统),但是无论如何都可以通过一些编码来完成.问题是你的问题不能用Modelica工具象征性地自动解决,但在数字上是的.为了用数字方法解决它,你必须用时间变量替换x,因为在Modelica中你可以执行导数,因此只能在时间上执行积分.因此,您可以使用要集成的函数创建信号源,然后将其用作Modelica.Blocks.Continuous.Integrator块的输入,从而实现以下简单公式:

model Integrator
  input Real u;
  output Real y;
equation
  der(y) = u;
end Integrator;
Run Code Online (Sandbox Code Playgroud)

最后,如果你作为输入发送到该块零t<2t<5,那么你应该在输出得到您的积分之间的正确值25:

在此输入图像描述

马克,我希望这会有所帮助