我想在Modelica中执行除时间之外的变量函数的集成,但我不知道该怎么做。 例如,如何评估x dx的上限为上限5和下限2?
∫x dx=x^2/2
答案 0 :(得分: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;
最后,如果您将t<2
和t<5
的块0作为输入发送,那么您应该输出2
和5
之间积分的正确值:
我希望这有帮助, 马可