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

∫x dx=x^2/2

#1楼 票数: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<2t<5 ,则应输入正确的25之间的积分值:

在此输入图像描述

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

  ask by Tymo translate from so

未解决问题?本站智能推荐:

1回复

将状态C计算与Modelica集成

我将用C实现的机器学习算法与在OpenModelica中运行的Modelica模型集成在一起。 机器学习算法处于闭环状态,将与目标状态的偏差作为输入,并提供控制信号作为输出。 我设置了一个采样周期,以便仅每X毫秒调用一次C算法。 但是,我看到针对同一时钟值多次调用了该算法。
2回复

Modelica-将非Modelica函数映射到模型

如果我有一个没有输入和输出的非modelica函数 那我可以像下面在Modelica中那样建模吗?
1回复

函数的Modelica注释反函数被忽略

问题:忽略函数的inverse注释,并以数字方式计算反函数。 根据Modelica规范 ,可以指定给定函数的逆。 为了测试这个功能,我尝试了一个带有两个函数的非常简单的模型: 直接函数y(x)= sin(x) 它的反函数x(y)= asin(y) 几个相关的
1回复

Modelica:阶跃函数的初始条件

我想问一个Modelica有关何时函数的问题,并且以下源代码无法正常运行。 变量Pstart_CONV是if语句中der(x_calc)的初始条件,并且当“ when语句”变为true时,Pstart_CONV值由x给出。 因为x是一个阶跃函数,所以我想为der(x_calc)分配一个初始条
3回复

替换 Modelica 中已弃用的函数基数(c)

在文档中指出, cardinality()函数已被弃用,不应再使用。 但是,它仍然在诸如 ThermoSysPro 之类的库中使用。 例如 其中C是FluidInlet或FluidOutlet 谁能举一个简单的例子来说明如何替换它?
2回复

在Modelica中将连接器作为函数输入参数

是否可以将连接器用作函数输入参数? 不知何故,我无法运行以下最小示例。 在f.mo文件中 在test.mo中,我有 当我运行test.mo的检查时,我收到错误消息 谢谢!
4回复

在Modelica中生成三角波函数的问题

我正在尝试创建一个模型,其中一个Modelica变量是另一个变量的三角波。 首先我尝试了floor()函数,如下所示: (x =时间;是任意的,因此模型编译) 但结果很奇怪,你可以在下面看到 放大: 不知何故,在下一步楼层功能出现意外行为之前0.005秒,并成
1回复

混合Modelica

我想知道是否有可能使用几种单一气体(使用Modelica库)创建混合物。 如果是,是否有任何文件解释此过程? 非常感谢您的回答