使用Matlab和命令importInitial(dsName="dsfinal.txt")来控制Dymola中的Modelica模型。

3
我希望可以用Matlab控制在Dymola中实现的Modelica模型。每隔x秒,Matlab读取状态值并计算模型的新参数值,并调用Dymola使用这些新参数值来模拟模型。 我尝试使用importInitial(dsName="dsfinal")使用上一个模拟的最终值初始化状态,然后进行模拟。当我直接在模拟日志中输入命令时,它有效,但是当我从Matlab调用它时,即使完全相同的命令出现在Dymola模拟日志中,它也无效。 有人可以帮忙吗? 谢谢!

相关:https://dev59.com/OX3aa4cB1Zd3GeqPd3wK - matth
1个回答

3
问题是由于参数值的更改引起的。 使用以下代码解决了它:
1) 使用simulateModel()运行第一次模拟时所需的所有模拟参数 2) 使用importInitial('dsfinal.txt')导入最终状态值 3) 使用modelName.parameterName = newValue来更改参数值 4) 使用simulate()进行进一步模拟,使用与第一次模拟相同的设置。
另请参阅:http://www.claytex.com/how-to-restart-a-simulation/

你能帮我解决这个问题吗?https://dev59.com/qL7pa4cB1Zd3GeqPsSMS - Rohit gupta

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接