【问题标题】:Integrate stateful C computations with Modelica将有状态的 C 计算与 Modelica 集成
【发布时间】:2015-03-31 12:22:08
【问题描述】:

我已将用 C 语言实现的机器学习算法与在 OpenModelica 中运行的 Modelica 模型集成。

机器学习算法是闭环的,将与目标状态的偏差作为输入,并提供控制信号作为输出。

我已经设置了一个采样周期,以便 C 算法仅每 X 毫秒调用一次。但是,我看到对于相同的时钟值,该算法被多次调用。

这让我怀疑,为了求解模型,OpenModelica 需要在每次模拟迭代中多次调用它。

这会影响算法的学习方式,因为它会保持有关其经验的状态。

为什么 OpenModelica 每个时钟周期都会多次调用我的算法?我该如何解决这个问题,以免导致学习同时被多次调用弄糊涂?

【问题讨论】:

  • 你能发布一个你的模型的示例 sn-p 吗?

标签: c modelica openmodelica


【解决方案1】:

有两种方式:

  1. 使用不回溯的欧拉求解器(默认 dassl 会)

  2. 将外部 C 函数与您设置/检查的静态变量一起使用

【讨论】:

猜你喜欢
  • 2021-04-13
  • 1970-01-01
  • 2012-05-16
  • 2020-11-15
  • 1970-01-01
  • 1970-01-01
  • 2020-01-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多