我希望可以用Matlab控制在Dymola中实现的Modelica模型。每隔x秒,Matlab读取状态值并计算模型的新参数值,并调用Dymola使用这些新参数值来模拟模型。 我尝试使用importInitial(dsName="dsfinal")使用上一个模拟的最终值初始化状态,然后进行模拟。当我直接在模拟日志中输入命令时,它有效,但是当我从Matlab调用它时,即使完全相同的命令出现在Dymola模拟日志中,它也无效。 有人可以帮忙吗? 谢谢!
问题是由于参数值的更改引起的。 使用以下代码解决了它:1) 使用simulateModel()运行第一次模拟时所需的所有模拟参数 2) 使用importInitial('dsfinal.txt')导入最终状态值 3) 使用modelName.parameterName = newValue来更改参数值 4) 使用simulate()进行进一步模拟,使用与第一次模拟相同的设置。另请参阅:http://www.claytex.com/how-to-restart-a-simulation/