Ошибка образца функции в димоле?

Когда я пытался моделировать простую модель в Dymola (2015) с помощью sample функция:

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 ответ

ОК, ошибки нет. Согласно Dassault, нужно просто включить "Хранить переменные в событиях" в Simulation > setup > Output > Output selection. "Если эта опция включена, точное время события сохраняется в файле результатов, без которого вы увидите на графике интерполированное значение между точкой результата слева и справа от события, поскольку само событие не сохраняется".

Другие вопросы по тегам