在Modelica中,如何从模拟过程中的前一时间步确定值?

在Modelica中,如何从模拟过程中的前一时间步确定值?,modelica,dymola,openmodelica,Modelica,Dymola,Openmodelica,在Modelica中进行模拟时,如何确定上一个时间步长的值? 方程Q=m*c*Ts2-Ts1-Tr,我需要从中提取Ts2和Ts1的值 Ts2-是来自时间步骤2的值 Ts1-是来自上一时间步的值 Ts是输入信号,它在时间上有变化。每一步 它有不同的价值。在我的例子中,时间步长是1s。其他值包括 固定的 我可以设定可变时间的等式吗? 例如: Ts2 (start=time); Ts (start=time-1); 还是应该输入到这个模型中 关于季莫菲伊这一问题已经在本文件中得到了解决 关键的一点是

在Modelica中进行模拟时,如何确定上一个时间步长的值? 方程Q=m*c*Ts2-Ts1-Tr,我需要从中提取Ts2和Ts1的值

Ts2-是来自时间步骤2的值 Ts1-是来自上一时间步的值 Ts是输入信号,它在时间上有变化。每一步 它有不同的价值。在我的例子中,时间步长是1s。其他值包括 固定的 我可以设定可变时间的等式吗? 例如:

Ts2 (start=time);
Ts (start=time-1);
还是应该输入到这个模型中

关于季莫菲伊

这一问题已经在本文件中得到了解决

关键的一点是,描述物理行为的方程式不能引用时间步长。这是因为自然界或物理定律中没有时间步长,因此系统的响应不能依赖于它

你没有真正解释为什么你需要做你正在做的事情。您正在尝试提取模拟结果吗?你是在试图把实验数据联系起来吗?或者,你只是想解一个微分方程

你想做什么还不清楚。请详细说明,我们可能会就如何在Modelica中继续提供一些指导

更新

使用上一个间隔中的值是可以的。例如,如果您希望定期对解决方案进行采样,在Modelica中表示a或实现a,则可以非常轻松地执行这些操作。例如,请参见此处的关键字。换句话说,可以存储任意多个以前的值

您不能使用连续解算器的时间步长来表示系统的行为。参考的间隔必须独立于解算器使用的任何间隔。

这已在中解决

关键的一点是,描述物理行为的方程式不能引用时间步长。这是因为自然界或物理定律中没有时间步长,因此系统的响应不能依赖于它

你没有真正解释为什么你需要做你正在做的事情。您正在尝试提取模拟结果吗?你是在试图把实验数据联系起来吗?或者,你只是想解一个微分方程

你想做什么还不清楚。请详细说明,我们可能会就如何在Modelica中继续提供一些指导

更新

使用上一个间隔中的值是可以的。例如,如果您希望定期对解决方案进行采样,在Modelica中表示a或实现a,则可以非常轻松地执行这些操作。例如,请参见此处的关键字。换句话说,可以存储任意多个以前的值


您不能使用连续解算器的时间步长来表示系统的行为。您引用的间隔必须独立于解算器使用的任何间隔。

可能重复:可能重复:谢谢,这正是我的情况。我想把上一个区间的变量值放到方程中。这是否意味着以这种方式构建模型是不正确的?我更新了上面的答案以澄清问题。但您需要解释之前的值用于什么。为什么需要以前的值?您的系统是否有影响其行为的内存或其他状态?谢谢,这正是我的情况。我想把上一个区间的变量值放到方程中。这是否意味着以这种方式构建模型是不正确的?我更新了上面的答案以澄清问题。但您需要解释之前的值用于什么。为什么需要以前的值?您的系统是否有影响其行为的内存或其他状态?