DYNAMO語言

DYNAMO語言簡介DYNAMO是Dynamic Model(動態模擬)的混合縮寫,它計算一組變數隨時間推移的變化結果,從而使人們知道這些變數的演變情況。DYNAMO模型由代數方程組構成,每一方程都簡單明了地描述了系統的一部分是如何運行的。目前DYNAMO語言有許多種版本,這裡是以MicrO—DYNAMO版本為基礎介紹DYNAMO語言。Micro-DYNAMO可以直接在IBM-PC系列及其兼容機上運行,因而是易於推廣使用的一種版本。dynamic models 一種專門為系統動力學 系統動力學 系統動力學(簡稱SD—system dynamics)的出現於1956年,創始人為美國麻省理工學院(MIT)的福瑞斯特(J.W.Forrester)教授。系統動力學是福瑞斯特教授於1958更多設計的仿真語言,屬於連續系統仿真語言。系統動力學的建模採用四種基本模型時滯組合成複雜模型,用以描述社會、經濟等具有信反饋的複雜系統。利用這種複雜模型進行計算機仿真可研究各種控制因素對系統穩定性或發展趨勢的影響, 並能根據仿真運行的結果提出建議,以便重新調整系或改變方針政策。

基本介紹

  • 中文名:DYNAMO語言
  • 外文名:Dynamic Model
  • 構成:代數方程組
  • 創始人:福瑞斯特教授
正文,程式,

正文

一種專門為
DYNAMO語言
在DYNAMO語言中用1~5個字母組成的字元串表示變數名,並可由用戶自行規定。有些變數名則已預先規定好。例如,變數TIME用於產生時間基準。圖中示出時間流程的描述方法,K表示計算的起始時刻,J表示已經完成的前一個計算的起始時刻,L表示準備進行的下一個計算的起始時刻,JK表示已經過去的時間間隔,KL表示將要到來的時間間隔。計算過程在相同的時間間隔上進行,JK=KL。通常用DT表示恆定的時間間隔,DT的大小由用戶自行選擇。在DYNAMO語言中在變數名稱後要附加一個詞尾J,K,L,JK或KL來標定計算時間,中間用句號隔開。在DYNAMO語言中用LEVEL變數來描述系統的狀態。LEVEL一般譯為級或流位或存量或水平量,表示系統的定量指標。系統在每一時刻的狀態可用一組指標來表示。選取系統的一組LEVEL變數來表示系統的狀態是建模中很關鍵的一步。在DYNAMO語言中用RATE變數來描述系統狀態隨時間的變化。RATE一般譯為流率或速率或變化率或決策變數。找出影響RATE變數的因素,即可掌握系統動態變化規律。用DYNAMO語言編制的源程式即系統動力學模型本質上是一個一階微分方程組。但是DYNAMO語言比微分方程的形式更為清晰。它用L方程表示每一個LEVEL的變化情況,再用R方程分別描述影響LEVEL變化的每一個因素。DYNAMO語言還提供了很多表示變化率與狀態之間關係的方法,如比例關係,算術運算關係,標準函式關係,表函式關係,以及這些關係的複合函式關係。如果關係比較複雜,則可用輔助變數AUXILI-ARY來表示,以減少函式嵌套的深度。對建模來說,用輔助變數可使模型更加清晰。通過輔助變數可以清楚地表達因果關係鏈中每一個別環節以及引起系統變化的外部原因。DYNAMO語言用常數變數CONSTANT來描述系統的參數或係數。用DYNAMO語言建模可以把時滯、結構和反饋環都清晰地表達出來。時滯DELAY是指某些因素並不立即起作用,而要經過若干時間分若干次顯示出來。時滯值的大小一般是系統的固有特性。在DYNAMO語言中為了使模型更加簡潔,當中間過程的細節可被忽略時,可以使用宏函式。一個宏函式相當於若干個L方程和R方程。反饋環實質上是一種很複雜的因果關係。這樣整個系統可由一些簡單的環節組配而成。用DYNAMO語言建模往往先畫出系統流程圖。由實線貫穿著存量和速率,表明實物流的流動情況。由虛線聯繫著存量、速率和其他外部因素,反映反饋關係和環境影響。
從觀察系統到建立系統的流程圖是用DYNAMO語言編制仿真程式的關鍵。對於簡單的系統,很容易憑直覺就畫出系統的流程圖。一般可以根據系統分析,先找出實物流,再找出信息流。對於比較複雜的系統,可按下列步驟建模:①確定系統邊界。②找出因果關係和反饋環。③區分反饋環中LEVEL變數和RATE變數。④確定L方程和R方程的結構。

程式

DYNAMO程式DYNAMO程式中有兩類語句:一類是模型描述語句,用來描述流程圖中的元素和變數的初始狀態,模型描述語句的集合就組成了系統動力學模型。另一類是控制語句,用來控制仿真運行,如規定仿真過程的步長及輸出報告的內容和格式等。
模型描述語句共有八種,每種均以第一列的一個特定的字母為標識,指明這個語句描述的變數類型。從第三列起,書寫這一類型的變數方程。變數方程由變數名、時間下標、運算符號、各種標準函式、宏函式和數組成。其基本形式是:變數名。時間下標=表示式。變數名是由1~5個字母組成的字元串,由用戶自行規定。變數名後用時間下標表示變數在指定時刻進行計算,中間用句號隔開。方程中不允許有空格,否則就認為空格後的內容是注釋。
在DYNAMO語言中有11種控制語句。用DYNAMO語言編制仿真程式時,為了使模型更加簡潔,可以調用一系列標準函式和宏函式。各種版本的DYNAMO軟體均有常用的標準函式和宏函式。
參考書目
G.戈登著,楊金標譯:《系統仿真》,冶金工業出版社,北京,1982。(G.Gordon, System Simulation, Prentice-Hall, Englewood Cliffs, N.J., 1978.)

相關詞條

熱門詞條

聯絡我們