我想在Modelica中执行除时间之外的变量函数的集成,但我不知道该怎么做 . 例如,如何评估x dx与上限5和下限2的积分?
∫x dx=x^2/2
Modelica并不是像Maple,Mathematica或Matlab那样设计成CAS(计算机代数系统),但是无论如何都可以通过一些编码来完成 . 问题是你的问题不能用Modelica工具象征性地自动解决,但在数字上是的 . 为了用数字方法解决它,你必须用时间变量替换x,因为在Modelica中你可以执行导数,因此只能在时间上执行积分 . 因此,您可以使用要集成的函数创建信号源,然后将其用作 Modelica.Blocks.Continuous.Integrator 块的输入,该块实现了这个简单的等式:
Modelica.Blocks.Continuous.Integrator
model Integrator input Real u; output Real y; equation der(y) = u; end Integrator;
最后,如果您将 t<2 和 t<5 作为输入发送到此块零,那么您应该输出 2 和 5 之间的积分的正确值:
t<2
t<5
2
5
马克,我希望这会有所帮助
1 回答
Modelica并不是像Maple,Mathematica或Matlab那样设计成CAS(计算机代数系统),但是无论如何都可以通过一些编码来完成 . 问题是你的问题不能用Modelica工具象征性地自动解决,但在数字上是的 . 为了用数字方法解决它,你必须用时间变量替换x,因为在Modelica中你可以执行导数,因此只能在时间上执行积分 . 因此,您可以使用要集成的函数创建信号源,然后将其用作
Modelica.Blocks.Continuous.Integrator
块的输入,该块实现了这个简单的等式:最后,如果您将
t<2
和t<5
作为输入发送到此块零,那么您应该输出2
和5
之间的积分的正确值:马克,我希望这会有所帮助