Vensim函數(shù)庫_第1頁
Vensim函數(shù)庫_第2頁
Vensim函數(shù)庫_第3頁
Vensim函數(shù)庫_第4頁
Vensim函數(shù)庫_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Vensim函數(shù)庫Vensim函數(shù)庫是Vensim軟件內部集成的函數(shù)功能,在Vensim_PLE版本中,函數(shù)庫中一共包含25個函數(shù)。當這些函數(shù)可以直接體現(xiàn)模型變量間關系的時候,建模者可以在設置變量關系的過程中選擇使用這些函數(shù)。單擊Equation功能鍵,Vensim就會打開公式編輯器。在這里,單擊Function(函數(shù))功能鍵,Vensim所提供的所有函數(shù)關系就會出現(xiàn)在Function下面的下拉式菜單中。如圖1-1所示。Vensim函數(shù)庫中的25個函數(shù)主要可以分為以下幾類:數(shù)學函數(shù)、邏輯函數(shù)、隨機函數(shù)、測試函數(shù)和延遲函數(shù)。以下我們對這五類函數(shù)一一進行介紹。1. 數(shù)學函數(shù)數(shù)學函數(shù)是Vensim函

2、數(shù)庫中最簡單的一類函數(shù)。它包括SIN、EXP、LN、SQRT、ABS、INTEGER、MODULO七個函數(shù),主要應用于變量間的基本數(shù)學關系。表1-1中總結了這七個數(shù)學函數(shù)的名稱、形式和功能,可以在建立模型過程中參考和使用。表1-1Vensim數(shù)學函數(shù)總結函數(shù)名稱函數(shù)形式函數(shù)功能SINSIN(x)取正弦EXPEXP(x)exLNLN(x)取對數(shù)SQRTSQRT(x)取平方根ABSABS(x)取絕對值INTEGERINTEGER(x)取整數(shù)MODULOMODULO(x,base)取余數(shù)2. 邏輯函數(shù)Vensim函數(shù)庫中另一類重要的函數(shù)是邏輯函數(shù)。在建立模型過程中,有時候變量間的關系需要經(jīng)過一些比數(shù)

3、學計算更復雜的處理,比如判斷若干變量中的最大或者最小的值,然后將結果賦予另一個變量。Vensim_PLE版本中的邏輯函數(shù)包括最大、最小值判斷函數(shù)和條件函數(shù)。這三個函數(shù)在很多模型中的變量關系判斷中使用頻率都很高。下面就對這三個函數(shù)進行一一介紹。1) MAX基本形式:MAX(x1,x2)函數(shù)功能:MAX后面括號中的x1,x2,是函數(shù)的變量。在運行過程中,MAX函數(shù)對這些變量進行比較,返回其中最大值作為函數(shù)值。使用方法:將需要判斷的對象作為函數(shù)對象輸入MAX后面的括號內(在Equation編輯器窗口下可以直接點擊選擇變量)。2) MIN基本形式:MIN(x1,x2)函數(shù)功能:MIN后面括號中的x1,

4、x2,是函數(shù)的變量。在運行過程中,MIN函數(shù)對這些變量進行比較,返回其中最小值作為函數(shù)值。使用方法:和MAX類似,在Equation編輯器中直接選中需要比較的對象名稱,對象即會自動變?yōu)楹瘮?shù)變量,參加邏輯運算。3) IFTHENELSE基本形式:IFTHENELSE(cond,ontrue,onfalse)函數(shù)功能:在模型建立過程中常常遇到這樣的情況,變量值在不同的情況(符不符合某條件)有不同的計算方法。IFTHENELSE函數(shù)就是針對這樣的情況設計的。在Vensim中,這個函數(shù)實際上具有兩種意義。a)像其他函數(shù)一樣,IFTHENELSE函數(shù)會根據(jù)運算結果返回一個函數(shù)值。b)表達式d=IFaTH

5、ENbELSEc實際上把變量“IFaTHENbELSEc”賦給了d這個變量。使用方法:打開公式編輯器一選擇Function圖標,并點擊IFTHENELSE函數(shù)一選擇Variable圖標一點擊函數(shù)中的cond變量一在Variable中選擇要使用的目標變量,設定一個臨界條件一同樣地選擇ontrue和onfalse變量并分別賦予條件滿足和不滿足兩種情況下對應的不同的函數(shù)關系式。舉仞:DHPI=IFTHENELSE(Time=1920,COE,0)說明:這個函數(shù)的意思是,如果時間大于或等于1920年(Time是一個表示時間的變量,是模型內置的一個變量,在這里的意思就是當Time變量的值大于或等于192

6、0的時候),邏輯函數(shù)返回值為COE,這時DHPI=COE;其他情況下,即時間變量Time1920年的時候,邏輯函數(shù)返回值為0,這時DHPI=0。3.隨機函數(shù)隨機函數(shù)是另一類很常用的函數(shù)類型。實的環(huán)境中常常存在一些不能確定的情況,外,我們還需要模擬一種不確定性的發(fā)生。設計的。因為我們所建立的模型是模擬現(xiàn)實環(huán)境的,而現(xiàn)即存在隨機性。所以除了模型中確定的變量關系Vensim函數(shù)庫中的隨機函數(shù)就是針對這種用途1) RANDOMUNIFORM函數(shù)形式:RANDOMUNIFORM(min,max,seed)函數(shù)功能:產(chǎn)生一個介于min值和max值之間的數(shù)值,這個數(shù)值是隨機生成的,但是它的分布依賴于種子(s

7、eed)的確定。每一個不同的種子都可以產(chǎn)生一個不同的基本分布。當沒有制定種子的時候,Vensim會自動使用默認種子及其分布,以產(chǎn)生隨機變量。使用方法:在函數(shù)列表種選擇RANDOMUNIFORM,然后用鼠標依次點擊min,max,seed并輸入設定值。2) RANDOMNORMAL函數(shù)形式:RANDOMNORMAL(min,max,mean,stdev,seed)函數(shù)功能:此函數(shù)和上一個功能類似,都是產(chǎn)生min和max之間的隨機數(shù)值,并依賴于種子產(chǎn)生的分布。其不同之處在于,此函數(shù)可以設定種子所產(chǎn)生分布的期望均值和方差。函數(shù)中mean即表示均值,而stdev則表示方差。使用方法:在函數(shù)列表種選擇R

8、ANDOMUNIFORM,然后用鼠標依次點擊min,max,mean,stdev,seed并輸入相應的設定值。4. 測試函數(shù)測試函數(shù)是Vensim中另一類非常有特色且常用的函數(shù)類型。這里我們將主要介紹四種測試函數(shù),即(1)階躍函數(shù)STEP(2)斜坡函數(shù)RAMP(3)單脈沖函數(shù)PULSE(4)多脈沖函數(shù)PULSETRAIN。這四種函數(shù)都可以產(chǎn)生比較典型和有特色的數(shù)值變化規(guī)律,因此在建立問題模型過程中經(jīng)常用到。1) 階躍函數(shù)STEP基本形式:STEP(height,stime)基本功能:此函數(shù)可以控制對變量啟動賦值的時間。如圖所示,在StartTime之前,函數(shù)賦予變量的數(shù)值為0。當時間到達Sta

9、rtTime后,函數(shù)賦予變量的值為預先設定的Height,并持續(xù)下去。使用方法:在函數(shù)列表中選擇STEP,然后用鼠標依次點擊height,stime并輸入階躍函數(shù)的取值和起始時間。2)斜坡函數(shù)RAMP函數(shù)形式:RAMP(slope,start,finish)函數(shù)功能:函數(shù)從規(guī)定的起始時間開始到規(guī)定的結束時間終結。在這個過程中,函數(shù)的變化完全取決于預先設定的斜率。斜坡函數(shù)的初值默認為0。使用方法:從函數(shù)菜單中選擇RAMP函數(shù),在slope處單擊鼠標左鍵,輸入設定的函數(shù)斜率,然后用同樣地方法設定起始時間start和結束時間finish。3)單脈沖函數(shù)PULSE函數(shù)形式:PULSE(start,du

10、ration)函數(shù)功能:此函數(shù)和階躍函數(shù)功能具有共同點,但較階躍函數(shù)不同之處在于兩點:第一,單脈沖函數(shù)在起始時間后的脈沖高度只能為1。這個值是Vensim默認的,而不是自行設置的。第二,單脈沖函數(shù)可以控制脈沖持續(xù)的時間,即函數(shù)圖示中的Width。在StartTime后經(jīng)過Width時間長度,函數(shù)將重新開始賦予變量0值。使用方法:在函數(shù)列表種選擇PULSE,然后用鼠標依次點擊start,duration并輸入脈沖起始時間和持續(xù)時間長度。4)多脈沖函數(shù)PULSETRAIN函數(shù)形式:PULSETRAIN(start,duration,repeattime,end)函數(shù)功能:多脈沖函數(shù)較單脈沖函數(shù)可以

11、實現(xiàn)更多的功能,即把原本單個連續(xù)的賦值階段切分成若干小階段,如圖7-5所示。這里的Width指的是分割后每一個階段的持續(xù)時間長度,而t-between指的是一個階段開始時刻(終結時刻)和下一個階段開始時刻(終結時刻)間的時間間隔長度。這樣的階段反復循環(huán)出現(xiàn),直到時間到達EndTime。使用方法:選擇PULSETRAIN函數(shù),依次點擊start,duration,repeattime,end并設置。需要注意的是,這里的duration是圖示中的單位持續(xù)長度WidthTime,而repeattime是圖示中的間隔時間t-between。5. 延遲函數(shù)延遲函數(shù)是Vensim函數(shù)庫中非常重要的一類函數(shù)

12、,使用范圍很廣。因為在建立模型的過程中,我們常常需要模擬物質或信息在模型中不同模塊間的流動。而現(xiàn)實中,由于物質或信息傳播渠道的客觀限制,這種流動經(jīng)常會產(chǎn)生一定的延遲。延遲函數(shù)正是為模擬這種延遲效果而設計。Vensim中的延遲函數(shù)包括兩類,即模擬物質延遲效果的DELAY函數(shù)和模擬信息延遲效果的SMOOTH函數(shù)。1)物質延遲函數(shù)a) DELAY1函數(shù)形式:DELAY1(In,DelayTime)函數(shù)功能:此函數(shù)根據(jù)設定的延遲時間,對輸入量作延遲處理。其運行過程中,內部原理相當于下面的等式:DELAY1=LV/delaytimeLV=INTEG(In-DELAY1,input*delaytime)這

13、里INTEG函數(shù)的功能是對括號內的變量In-DELAY1作積分。使用方法:選擇DELAY1函數(shù),單擊鼠標設定輸入值In和延遲時間DelayTime。b) DELAY1I函數(shù)形式:DELAY1I(In,DelayTime,InitialValue)函數(shù)功能:此函數(shù)功能和DELAY1功能類似,不同之處在于其可以設定初值。使用方法:和DELAY1操作方法相同,但需要設定初值InitialValue。c) DELAY3函數(shù)形式:DELAY3(In,DelayTime)函數(shù)功能:DELAY3函數(shù)同樣對物質作延遲處理。但和DELAY1不同,它是針對三階延遲設計的,即在處理過程中,它根據(jù)延遲時間對物質作三次

14、延遲處理,然后再返回函數(shù)值。換句話說,它相當于做了三次DELAY1,但每一次延遲的時間只有原函數(shù)中設定延遲時間DelayTime的三分之一。DELAY3內部原理等同于下面的等式:DELAY3=LV3/DLLV3=INTEG(RT2-DELAY3,DL*IN)RT2=LV2/DLLV2=INTEG(RT1-RT2,LV3)RT1=LV1/DLLV1=INTEG(In-RT1,LV3)DL=DelayTime/3使用方法:和DELAY1使用方法相同。d) DELAY3I函數(shù)形式:DELAY3I(In,DelayTime,InitialValue)函數(shù)功能:此函數(shù)功能和DELAY3功能類似,不同之處

15、在于其可以設定初值。使用方法:和DELAY1I使用方法相同。e) DELAYFIXED函數(shù)形式:DELAYFIXED(In,DelayTime,InitialValue)函數(shù)功能:DELAYFIXED函數(shù)對輸入量做延遲處理,但處理過程中DelayTime是一個常量。即便在設置時將DelayTime設置為表達式,運行過程中延遲時間也不會隨著表達式的變化而變化。使用方法:和DELAY1I使用方法相同。f) DELAYMATERIAL函數(shù)形式:DELAYMATERIAL(Input,DelayTime,InitialValue,Missval)函數(shù)功能:DELAYMATERIAL的功能和DELAYF

16、IXED功能相似,不同點在于其延遲時間可以變化。這時候將DelayTime設置為表達式,則運行過程中,系統(tǒng)對于輸入的延遲處理時間隨著表達式的變化而變化。在這個變化過程中,如果延遲時間不斷變小,則輸出值會根據(jù)更新的輸入值確定;如果延遲時間不斷增大,當某一時刻沒有輸出值可用時,Missval會被當作輸出值使用。使用方法:和DELAY1I使用方法相同。2) 信息延遲函數(shù)a) SMOOTH函數(shù)形式:SMOOTH(in,stime)函數(shù)功能:此函數(shù)模擬信息延遲效果,對輸入值作延遲處理,其內部原理相當于以下等式:SMOOTH=INTEG(input-SMOOTH)/delaytime,input)使用方法

17、:在函數(shù)菜單中選擇SMOOTH函數(shù),然后設定輸入值和延遲時間。b) SMOOTHI函數(shù)形式:SMOOTHI(in,stime,inival)函數(shù)功能:此函數(shù)和SMOOTH函數(shù)功能類似,但可以設定初值。其內部原理相當于以下等式:SMOOTHI=INTEG(input-SMOOTHI)/delaytime,initialvalue)使用方法:和SMOOTH使用方法相同,但需要設定初值inival。c) SMOOTH3I函數(shù)形式:SMOOTH3I(in,stime,inival)函數(shù)功能:此函數(shù)實現(xiàn)的延遲功能和DELAY3相似,即對輸入量作三階延遲,內部原理相當于以下等式:SMOOTH3=INTEG

18、(LV2-SMOOTH3)/DL,input)LV2=INTEG(LV1-LV2)/DL,input)LV1=INTEG(IN-LV1)/DL,input)DL=delaytime/3使用方法:和SMOOTH方法相同,只是這里的延遲時間是三階延遲時間,因此運行過程中每一階的延遲時間是它的三分之一。d) DELAYINFORMATION函數(shù)形式:DELAYINFORMATION(input,delaytime,initialvalue)函數(shù)功能:和DELAYFIXED的功能相同,只是delaytime可以是一個變量。使用方法:和DELAYFIXED用法相同。6. 其他函數(shù)Vensim_PLE的函數(shù)庫中還有兩個函數(shù),這里做簡要介紹。1) XIDZ函數(shù)形式:XIDZ(numerator,denominator,X)函數(shù)功能:返回numerator/denominator的數(shù)值,如果分母denominator的數(shù)值為0,則自動返回X值。使用方法:選擇

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論