Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想从 matlab 控制在 Dymola 中实现的 modelica 模型。在每 x 秒,matlab 读取状态值并计算模型的新参数值并调用 dymola 以使用这些新参数值模拟模型。
我尝试使用前一个模拟的最终值初始化状态,使用 importInitial(dsName="dsfinal"); 然后模拟。
如果我直接在模拟日志中给出命令,这可以工作,但是当我从 matlab 调用它时它不起作用,即使完全相同的命令出现在 dymola 模拟日志中。
有人可以帮忙吗?
谢谢!
问题是由于参数值的变化。使用以下代码解决了它:
1)使用simulateModel()和你想要的第一次模拟的所有模拟参数
2) 使用 importInitial('dsfinal.txt') 导入最终状态值
3) 使用 modelName.parameterName = newValue 改变参数值
4) 使用模拟() 以与第一次模拟相同的设置进一步模拟。
另见:http ://www.claytex.com/how-to-restart-a-simulation/