3

我想从 matlab 控制在 Dymola 中实现的 modelica 模型。在每 x 秒,matlab 读取状态值并计算模型的新参数值并调用 dymola 以使用这些新参数值模拟模型。

我尝试使用前一个模拟的最终值初始化状态,使用 importInitial(dsName="dsfinal"); 然后模拟。

如果我直接在模拟日志中给出命令,这可以工作,但是当我从 matlab 调用它时它不起作用,即使完全相同的命令出现在 dymola 模拟日志中。

有人可以帮忙吗?

谢谢!

4

1 回答 1

3

问题是由于参数值的变化。使用以下代码解决了它:

1)使用simulateModel()和你想要的第一次模拟的所有模拟参数

2) 使用 importInitial('dsfinal.txt') 导入最终状态值

3) 使用 modelName.parameterName = newValue 改变参数值

4) 使用模拟() 以与第一次模拟相同的设置进一步模拟。

另见:http ://www.claytex.com/how-to-restart-a-simulation/

于 2014-04-29T07:11:18.530 回答