Ошибка образца функции в димоле?
Когда я пытался моделировать простую модель в 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. "Если эта опция включена, точное время события сохраняется в файле результатов, без которого вы увидите на графике интерполированное значение между точкой результата слева и справа от события, поскольку само событие не сохраняется".