SIMCOS - SIMCOS

SIMCOS (bir kısaltma için ayakta Sürekli Sistemlerin Simülasyonu) bir bilgisayar dili ve bir geliştirme ortamı için bilgisayar simülasyonu. 1989'da tarafından geliştirildi Slovence liderliğindeki uzmanlar Borut Zupančič.

Özellikleri

Dilin amacı simülasyon dinamik Matematiksel modeller dizi olarak verilen sistemlerin adi diferansiyel denklemler. O bir denklem odaklı ve derleyici türü dilin. Adına rağmen kullanılabilir ayrık simülasyon yanı sıra. Dil, CSSL'67 standart Simülasyon dillerinin aynı standarda uyan diğer diller arasında taşınabilirliği (ör. Tutsim, ACSL vb.) oldukça basittir. Bu bir DOS tabanlı yazılım bazen biraz değiştirilir, böylece gerçek sürümler altında çalıştırılabilir. Microsoft Windows. Simülasyonun kendisinin yanı sıra, parametrizasyon da gerçekleştirebilir (farklı değerlere sahip bir dizi simülasyon parametreleri ), doğrusallaştırma modellerin ve optimizasyon (bir kriter fonksiyonunun en aza indirildiği parametre değerlerini bulmak).

Simülasyon süreci

Bir simülasyon şemasının hazırlanması gerektiğinde, SIMCOS dilinde açıklanmalıdır. "Çizilebilir" (benzer şekilde bir analog bilgisayar ) kapalı bir blok kitaplığı grafik aracı kullanarak (aşağıdaki gibi temel öğeleri içerir) entegratörler, amplifikatörler, toplayıcılar bazı temel girdiler sinyaller vb.) ancak daha sıklıkla metin düzenleyicilerden biri kullanılarak bir program olarak girilir, ör. DOS ile birlikte düzenleyin. Modelin hangi giriş biçimi kullanılırsa kullanılsın, simülasyonun ilk aşaması onu yeniden işler. devletler alanı programı oluşturur ve yeniden yazar Fortran ve girdi parametreleriyle dosyalar hazırlar. Bu Fortran programı çalıştırılabilir bir dosyada (.exe) derlenir ve yürütülür. Çalıştırılabilir program, girdi dosyalarından parametre değerlerini okur, simülasyonu gerçekleştirir ve istenen hesaplanmış değerleri başka bir dosyaya yazar. SIMCOS sona erdiğinde kontrolü tekrar ele alır ve sonuçları grafiksel bir grafik olarak görüntüleyebilir.

Çalıştırılabilir dosyanın "kalbi", çözebilen INTEG işlevidir. diferansiyel denklemler birkaçından birini kullanarak Sayısal yöntemler. Önce dosyalardan gerekli değerleri okur (örneğin, parametrelerin değerleri, başlangıç ​​koşulları), ardından modelin gerçekte kendi işlevlerinin bir dizi olarak tanımlandığı DERIV işlevini çağırır. türevler. Döndürülen değerler, seçilen sayısal yöntemde kullanılır. İstenen hesaplanan sonuçlar dosyaya yazılır ve tüm prosedür fesih koşulu yerine getirilene kadar tekrarlanır.

Misal

Sürekli simülasyonu ölü zaman (onun Laplace dönüşümü dır-dir ) önemsiz bir görev değildir ve genellikle şunlardan birini kullanırız: Padé yaklaşımları. 2. dereceden Padé yaklaşımını simüle edeceğiz

ve 4. sıra:

Giriş sinyali bir birim adımdır, iletişim aralığı 0,01 saniyeye eşittir, uzunluk simülasyon çalışması 5 saniyedir, sonuçlar yerleşik ayrık işlevin çıktısı ile karşılaştırılacaktır gecikme (ek dizi gerektirir (del bizim durumumuzda) uygun boyutta).

y1 2. dereceden Padé yaklaşımının simülasyonunun bir sonucudur, y2 4. dereceden Padé yaklaşımının simülasyonunun bir sonucudur ve y3 ayrık işlevin sonucudur gecikme.

Ne zaman transfer fonksiyonları Her iki Padé yaklaşımı simülasyon şemalarından biri kullanılarak geliştirilmiştir, model aşağıdaki programla açıklanabilir:

program padeconstant tm = 1.0constant tfin = 5array del (101) değişken t = 0.0u = adım (t, 0.) u11d = 12 / (tm * tm) * u-12 / (tm * tm) * y1u11 = integ ( u11d, 0.) u21d = u11-u * 6 / tm-y1 * 6 / tmu21 = integ (u21d, 0.) y1 = u21 + uu12d = u * 1680 / (tm * tm * tm * tm) -y2 * 1680 / (tm * tm * tm * tm) u12 = integ (u12d, 0.) U22d = u12-u * 840 / (tm * tm * tm) -y2 * 840 / (tm * tm * tm) u22 = integ (u22d, 0.) u32d = u22 + u * 180 / (tm * tm) -y2 * 180 / (tm * tm) u32 = integ (u32d, 0.) u42d = u32-u * 20 / tm-y2 * 20 * tmu42 = integ (u42d, 0.) Y2 = u42 + uy3 = gecikme (u, tm, # del, ci) c aralık ci = 0.01hdr Ölü zamanın pade yaklaşımıprepar y1, y2, y3çıktı 10, y1, y2, y3termt (t.ge.tfin) son

Simülasyon çalışması bittikten sonra sonuçlar grafikler halinde görüntülenebilir. Grafiklerin değerlerini izlemek, hangi grafiklerin görüntüleneceğini seçmek, ızgarayı açmak, yakınlaştırmak vb. Mümkündür.

Referanslar

İçinde Slovence dili:

  • Borut Zupančič (katkılarıyla Rihard Karba ve Drago Matko ), Simulacija dinamičnih sistemovZaložba FER, Ljubljana, 1995, ISBN  86-7739-078-2
  • Borut Zupančič, SIMCOS - diskretnih dinamičnih sistemov içinde jezik za simulacijo zveznihZaložba FER, Ljubljana, 1992, ISBN  86-7739-016-2

Dış bağlantılar