首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Modelica/Dymola中的实验数据关联

Modelica/Dymola中的实验数据关联
EN

Stack Overflow用户
提问于 2016-02-23 02:48:49
回答 1查看 120关注 0票数 0

首先,我是一个相对较新的用户,我正在尝试将一个物理测试数据与我使用Dymola/Modelica构建的模型关联起来。在该模型中,“变量1”具有一个初始值,根据该初始值计算“变量2、3和4”,并使用这些变量(2、3和4)重新计算“变量1”,该“变量1”的值必须用于下一个时间步长,并且必须进行后续的重新计算。

我不确定如何将这个“更新后的变量1”作为每个时间步的输入传递给模型?有人能帮我解决这个问题吗?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-02-23 05:39:11

如果我很好地理解了这个问题,你有一个方程系统,你想要解耦,即用前一个时间步的一些初始值或系统的值来求解一组方程,让我们称这个方程组为A,然后将其结果作为下一个时间步的输入求解方程组B,依此类推。下面是一个离散的解耦系统的例子,其中解耦是通过时钟周期移位获得的:

然后以耦合的方式求解同一个系统,所以在每个时刻,所有方程都是同步求解的:

为了回复您的评论,您还可以使用pre运算符将您的模型实现到when语句中的等式部分,该运算符用于在事件期间引用离散变量的最后一个值。

代码语言:javascript
复制
model test
  parameter Real timeStep = 0.1;
  Real T_i[4];
  Real K[4];
  Real M[4];
initial equation 
  T_i = {1,2,3,4}; //starting value of a T  
  K = T_i .* 1.1 .+ 4;
  M = K .* 1.1 .+ 4;
equation 
  when sample(timeStep,timeStep) then
      K = T_i .* 10 .+ 4;
      M = K .* 10 .+ 4;
      T_i = pre(M) + pre(K);
  end when;
end test;

我希望这能帮到你

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35561469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档