第8章VensimPLE软件包中系统动力学函数系统动力学所以能处理复杂的系统问题,除提出流位流率系简化流率基本入树建模法去描述系统外,还有一个重要原因是其专用软件都设计了一系列通用的系统动力学函数。第一节数学、逻辑、测试函数§8.1.1数学函数VensimPLE备有五种普通数学函数供用户使用。1.SIN(X)定义1:SIN(X)为三角正弦函数,X须以弧度表示,其值小于8.35×105当自变量是角度时,应通过乘以2π/360转化为弧度。2.EXP(X)定义2:EXP(X)=eX,e是自然对数的底,e=2.7182…,X的值必须小于36。人们常用指数函数去描述系统,有了上面函数将会带来很大方便。3.LN(X),变量X大于零。即以e为底的对数函数,它与EXP(X)互为反函数,这样可以用EXP(X)和LN(X)来计算非以e为底的幂函数和对数函数。4.SQRT(X)=√X—,X必须是非负量。5.ABS(X)=│X│,对X取绝对值。§8.1.2逻辑函数逻辑函数的作用类似于其它计算机语言中的条件语句,VensimPLE的逻辑函数有三种。1.最大函数MAX(P,Q)MAX表示从两个量中选取较大者,P和Q是被比较的两个量,结果也是在这两个量中选取。P若P≥Q定义1:若MAX(P,Q)=Q若P≤Q其中P,Q是变量或常量,则MAX(P,Q)为最大函数。可用MAX函数从多个量中选取较大者。如从P,Q,D三个量中选择较大者可用MAX(D,MAX(P,Q))。最小函数Q若P≥Q定义2:若MIN(P,Q)=P若P≤Q则MIN(P,Q)为最小函数。1.MIN同MAX一样,可以从MIN(P,Q)基本功能中派生出各种用法。3.选择函数IFTHENELSE(C,T,F)定义3:若IFTHENELSE(C,T,F)TC条件为真时1=(C为逻辑表达式)F否则则IFTHENELSE(C,T,F)为选择函数。IFTHENELSE函数常用于仿真过程中作政策切换或变量选择。有时也叫条件函数。§8.1.3测试函数设计这一部分函数的目的主要是用于测试系统动力学模型性能用,所以称为测试函数。在给出测试函数以前,我们必须重申一个概念,系统动力学的变量皆是时间TIME的函数,所以当仿真时间TIME发生变化时,各变量值都随之发生变化。不过,各变量与TIME的依赖关系存在差别,有的是以TIME为直接自变量,有的则是间接变量。测试函数以TIME为直接自变量,但在函数符号中常缺省。1.阶跃函数STEP(P,Q)定义1:Q若TIME≤QSTEP(P,Q)=P若TIME>Q其中,P---阶跃幅度;Q---STEP从零值阶跃变化到P值的时间,则STEP(P,Q)为阶跃函数。PSTEPA*(C-B)A*(TIME-B)跃QBTIME图8.1.1阶路STEP(P,Q)和斜坡RAMP(A,B,C)函数图2.斜坡函数RAMP(P,Q,R)定义2:0若TIME≤QRAMP(P,Q,R)=P*(TIME-Q),若R≥TIME>QP*(R-Q),若TIME≥R其中,P为斜坡斜率,Q为斜坡起始时间,R为斜坡结束时间,则2RAMP(P,Q,R)为斜坡函数。3.脉冲函数PULSE(Q,R)定义3:若PULSE(Q,R)随TIME变化产生脉冲。其中:Q---第一个脉冲出现的时间R---相邻两个脉冲的时间间隔脉冲宽度为仿真步长,则PULSE(Q,R)为脉冲函数。4.均匀分布随机函数RANDOMUNIFORM(A,B,S)定义5:RANDOMUNIFORM(A,B,S)产生在区间(A,B)内的均匀分布随机数,S给定随机数序列就确定,S取不同的值产生随机数序列也不同。RANDOMUNIFORM(A,B,S)为均匀分布随机函数。上面我们给出了四种测试函数,实际上还有前面数学函数SIN(X)等也可以作为测试函数。一个系统动力学模型,可以通过改变常数再运行的办法,实现多种测试函数分别进行测试。第二节表函数§8.2.1表函数表示形式1.VensimPLE中表函数表示形式定义1自变量与因变量的关系通过列表给出的函数叫表函数。例如下表就确定了一个表函数。自变量X011.522.5因变量Y0.5112510表函数是系统动力学的一个重要特征,它用于建立两个变量之间的非线性关系,特别是软变量之间的关系。例如:员工士气对工作效率的影响程度。一般,两个变量先归一化或者先规整化,再根据经验给出大致的关系图来。这样设计的变量是无量纲量。在进入VensimPLE软件EquationEditor,即点去图标Y=X2后,若方程还未定义,有ASGraph选项。选择此选项,会出现下面对话框。该对话框用于图形化定义,上例表函数可直接填入框中(图8.2.1)。包括自变量和函数值即因变量值列举,自变量和函数的最大值等。当自变量为非已知统...