首页 文章

将有状态C计算与Modelica集成

提问于
浏览
1

我已经将在C中实现的机器学习算法与在OpenModelica中运行的Modelica模型集成在一起 .

机器学习算法处于闭环状态,将偏离目标状态作为输入,并提供控制信号作为输出 .

我设置了一个采样周期,以便每隔X毫秒调用一次C算法 . 但是,我发现对于相同的时钟值,该算法被多次调用 .

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

这会影响算法的学习方式,因为它会保持关于其体验的状态 .

为什么OpenModelica每个时钟滴答几次调用我的算法?我怎样才能解决这个问题,以免导致学习同时被多次调用弄糊涂?

1 回答

  • 3

    有两种方式:

    • 使用不回溯的Euler求解器(默认dassl可以)

    • 使用外部C函数和您设置/检查的静态变量

相关问题