2016-03-29 5 views
1

Когда я попытался имитируя простую модель в dymola (2015), используя sample функцию:образец ошибка функции в dymola?

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

Я пошел вперед и провел модель, которую вы опубликовали, и менял интервалы в широком диапазоне и не смог воспроизвести вашу ошибку. У меня Dymola 2016, так что это может быть ошибка, которая была исправлена. –

ответ

1

Хорошо, ошибок нет. Согласно Dassault, нужно просто включить «Сохранить переменные в событиях» в разделе «Моделирование»> «Настройка»> «Вывод»> «Вывод». «Если этот параметр включен, точное время события сохраняется в файле результатов, без него вы увидите на графике интерполированное значение между точкой результата слева и справа от события, так как оно не является . "