2016-03-29 33 views
1

Ben sample işlevini kullanarak dymola basit bir model (2015) simüle çalıştı:örnek fonksiyon hatası?

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

Ben yüksek sayıya aralıklarla sayısını artırmak zorunda kaldı (. Ex 5000) anlık görmek mümkün örnekleme aralıklarında counter değişkeninin değiştirilmesi. 5000 aralıkla bile, counter, 0.25 yerine 0.2496 değerini değiştirmeye başlar. OpenModelica'da (sürüm 1.9.1 + dev (r17879)) durum bu değildir ve 1 aralıkla bile counter değişken değeri tam olarak 0,25 olarak değiştirilir. Her iki platformda da Dassl kullanıyorum. bu bir hata/özellik mi?

+1

İleri gittim ve gönderdiğiniz modeli çalıştırdım ve aralıkları çok geniş bir aralıkta değiştirdim ve hatayı yeniden üretemedi. Dymola 2016'm var, düzeltilmiş bir hata olabilir. –

cevap

1

Tamam, bir hata yok. Dassault'a göre, sadece Simülasyon> kurulum> Çıkış> Çıkış seçiminde "Olaylarda mağaza değişkenleri" etkinleştirilmelidir. "Bu seçenek etkinleştirildiğinde, olayın tam zamanı, sonuç dosyasında, olayın kendisinin kayıtlı olmadığından olayın sol ve sağ noktası arasındaki enterpolasyonlu değeri göreceksiniz. "