我想在 Modelica 中对时间以外的变量函数进行积分,但我不知道该怎么做。
例如,如何计算上限为 5、下限为 2 的 x dx 的积分?
∫x dx=x^2/2
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
and t<5
,那么你应该在输出中得到正确的积分值2
and 5
:
我希望这有帮助,
马可
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)