dymola中的样本函数错误?

时间:2016-03-29 13:13:30

标签: sample modelica dymola openmodelica

当我尝试使用sample函数在dymola(2015)中模拟一个简单模型时:

model test_sample
  Integer counter(start = 0);
algorithm
  when sample(0, 0.25) then
   counter:=counter + 1;  
  end when;
 end test_sample;

我必须将间隔数增加到一个较大的数字(例如5000),以便能够在采样间隔看到counter变量的瞬时变化。即使有5000个间隔,counter也会在0.2496而不是0.25时开始改变其值。这在OpenModelica(版本1.9.1 + dev(r17879))中并非如此,即使有1个间隔,counter变量也会将其值精确地改为0.25。我在两个平台上都使用Dassl。这是一个错误/功能吗?

1 个答案:

答案 0 :(得分:1)

好的,没有错误。根据Dassault的说法,只需要在活动中启用"存储变量"在模拟>设置>输出>输出选择。 "启用此选项后,事件的确切时间将存储在结果文件中,如果没有它,您将在图中看到事件左侧和右侧的结果点之间的插值,因为事件本身不是 。存储"