2011-08-05 18 views
5

'daki zaman değişkenine nasıl erişebilirim Modelica'da açık bir zaman bağımlı diferansiyel denklemini modellemek istiyorum. Modelica

Ben modelica içinde

Real x(start=1); 
der(x) = t; 

modellemek istiyoruz deyin. Zaman değişkenine erişmenin doğru yolu nedir t?

cevap

11

Modelica'daki zaman değişkeni time olarak adlandırılır ve herhangi bir modelde veya blokta (paketler, kayıt, konektörler veya işlevler değil) erişilebilir. Ayrıca, start özniteliğini kullanmak yerine, ilk denklemleri kullanmanızı öneririm. Yani tam modeli şu şekilde görünecektir: initial equation bölümünde

model FirstOrder 
    Real x; 
initial equation 
    x = 1; 
equation 
    der(x) = time; 
end FirstOrder; 

denklemler yalnızca devletlerin başlangıç ​​değerleri için çözmek için uygulanır. Yukarıda gösterilen denklem önemsiz olmakla birlikte, böyle ilginç şeyler yapabilirsiniz: Burada mesele doğrudan devletin değerini belirtmek olanlar dışında diğer denklemlerini kullanabilirsiniz olmasıdır

model FirstOrder_IC2 
    Real x; 
initial equation 
    x*x*x = 3.0*time+7.0; 
equation 
    der(x) = time; 
end FirstOrder_IC2; 

. Yukarıdaki başlangıç ​​denklemi "fiziksel olarak" ilginç değildir, fakat matematiksel olarak bunun hem doğrusal olmayan hem de zamanla değişen (yani, simülasyonun başlangıç ​​zamanına duyarlı olduğu) olmasından kaynaklanır.