Hibrid modellemenin (özellikle eyalet olayları) genel fikrini sayısal bir bakış açısıyla anlamak istiyorum (matematikçi olmamakla birlikte :)).Modelica olayları ve karma modelleme
model BouncingBall
constant Real g=9.81
Real h(start=1);
Real v(start=0);
equation
der(h)=v;
der(v)=-g;
algorithm
when h < 0 then
reinit(v,-pre(v));
end when;
end BouncingBall;
Ben when
ve reinit
kavramını: Aşağıdaki modelica modeli göz önüne alındığında.
when
ifadesindeki denklem yalnızca durum doğru olduğunda etkin midir? Topun tam olarak2sec
'da yere çarpacağını varsayalım. Çok adımlı çözücü kullanıyorum demek, çözücünün "2 saniyenin ötesine geçtiği" anlamına geldiğinden,h<0
'un (time = 2.5sec
,h = -0.7
simülasyonunda olduğunu varsayalım) farkına varır. basit bir açıklama (örnek)?- çözücü şimdi daha küçük bir adım boyutu çıkarak? geri dönüyor mı?
pre()
ne yapar - var mı demek "bir geçiş fonksiyonu kullanılarak aranır etkinlik zamanı? ne yapar? Bu bağlamda işlem anlamı "Geçiş işlevleri oluşturmak yerine ifadeler tam anlamıyla alınır." Bir geçiş fonksiyonu olmadığından, ifadenin tatbik sınırının ötesinde değerlendirilebileceğine dair bir gereksinim yoktur ": Bu ne anlama geliyor? Aynı örnekte zıplayan topla birlikte verilir: Çözücü 2.5 saatinde h = 0.7 olduğunu tespit eder. ve
noEvent()
olmayan arasındaki fark
Modelica Kitabında okumanızı öneririm: http: //book.xogeny.com/behavior/discrete/ Kısaca: 1) evet 2) geçiş işlevi, h, sıfıra ulaştığında, çözücü, daha küçük bir adım boyutu yapmak için bir his elde etmek üzere sinyalin türevlerini kullanıyor demektir; çözücü 3) her ikisi de, çözücüye bağlı olarak 4) öncesi önceki adım 5'ten ayrık değişkenin değeridir) temelde, sinyal sıfır geçtiğinde, hiç bir olay üretilmez, böylece çözücü durmaz (olay yok) temelde ifade değerlendirilir sadece adım sınırında –