Modelica 变量的增量出错

Modelica 变量的增量出错,modelica,dymola,Modelica,Dymola,变量现在以j=1开始,但增量错误。对于t=0.5,其值应为2,对于t=1,j=3,依此类推。。。 您可以在下图中看到错误 class abc import Modelica.SIunits; parameter SIunits.Time delta_t = 0.5; constant Real a[:] = {4,2,6,-1,3,5,7,4,-3,-6}; Real x; Integer j(start=1); Integer k = size(a,1); algorithm whe

变量现在以j=1开始,但增量错误。对于t=0.5,其值应为2,对于t=1,j=3,依此类推。。。 您可以在下图中看到错误

class abc

import Modelica.SIunits;

parameter SIunits.Time delta_t = 0.5;

constant Real a[:] = {4,2,6,-1,3,5,7,4,-3,-6};

Real x;
Integer j(start=1);
Integer k = size(a,1);

algorithm
when {(sample(delta_t, delta_t) and j < k),j == 1} then

     x := a[pre(j)];
     j := pre(j) + 1;

end when;
end abc;

abc类
导入Modelica.SIunits;
参数SIunits.Time delta_t=0.5;
常数实a[:]={4,2,6,-1,3,5,7,4,-3,-6};
实x;
整数j(开始=1);
整数k=大小(a,1);
算法
当{(sample(delta_t,delta_t)和j

提前感谢。

当我将您的代码放入Dymola 2013时,我得到了您所期望的,
j==2
@
time==0.5


这个阴谋是从哪里来的?Dymola不会生成那样的图,因为
j
是一个离散变量。

好的,我发现了问题。Dymola可以生成这样的绘图,这取决于输出设置。上面的图是在没有设置“在事件中存储变量”的情况下生成的,当我设置这个时,我得到了正确的结果