好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第三章----DYNAMOL模拟语言课件.ppt

50页
  • 卖家[上传人]:cn****1
  • 文档编号:592026826
  • 上传时间:2024-09-19
  • 文档格式:PPT
  • 文档大小:102.50KB
  • / 50 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • •1 DYNAMO中的时间下标中的时间下标DTDTJKKLKJL现在时刻现在时刻前一时刻前一时刻下一时刻下一时刻图图2.1 DYNAMO中的时间下标中的时间下标 •例如:例如:•库存系统的方程可用库存系统的方程可用DYNAMO表示为:表示为:•INV.K=INV.J+DT*(ORRE.JK­SH.JK)•式中:式中:• INV.K——库存现有量;库存现有量;• INV.J——DT前的库存量(前的库存量(J时刻的库时刻的库存量);存量);• ORRE——JK间隔内的入库量;间隔内的入库量;• SH——JK间隔内的发货量间隔内的发货量 •假如某仓库每月入库量为假如某仓库每月入库量为80件,发货量为件,发货量为100件,件, 5个月前的库存量为个月前的库存量为1200件,求现件,求现在的库存量?在的库存量?•INV(现在)=(现在)=INV(过去)+(时间间隔)(过去)+(时间间隔)×(纯速率)(纯速率)• ==1200++5×((80--100))• ==1200++5×(-(-20))• ==1200--100• ==1100件件 2 DYNAMO的有关规定与规则的有关规定与规则•2..1 变量名字符的规定变量名字符的规定• 变量名字符不超过变量名字符不超过6个。

      变量名的第一字个变量名的第一字符必须是字母,其后则可为字母或数字符必须是字母,其后则可为字母或数字• 如:如:LEV、、LEV1、、LEV2、、X1、、X2等等 2. 2 代数运算符的表示代数运算符的表示• SD通用的代数运算符:通用的代数运算符:• 加法:加法:= 减法:-减法:-• 乘法:乘法:*• 除法:除法:/• 代数运算的顺序是:先乘方、开方,代数运算的顺序是:先乘方、开方,再乘、除,最后加、减再乘、除,最后加、减• 括号内的加、减优于括号外的运算括号内的加、减优于括号外的运算• 同一层次的运算符,按先左后右的原同一层次的运算符,按先左后右的原则进行运算则进行运算 •2..3 方程的列数方程的列数•一个方程中不能有空格,每行不能超过一个方程中不能有空格,每行不能超过72列一行不够可另起一行,但第一列必须列一行不够可另起一行,但第一列必须以字符以字符“X”作为标记作为标记P66))•2 .. 4 变量与常量变量与常量•DYNAMO中的所有数量可分为大两类:中的所有数量可分为大两类:•((1)变量:其值是可变的,有时间下标。

      变量:其值是可变的,有时间下标•((2)常量:其值在一次模拟过程中不变,)常量:其值在一次模拟过程中不变,没有时间下标没有时间下标•例如:例如:SALE.K ——变化的销售量变化的销售量• SALE——固定的销售量固定的销售量 3 DYNAMO的方程式的方程式•3.1 状态(状态(State,,Level)变量方程)变量方程• 在在SD中,凡是能对输入和输出变量进中,凡是能对输入和输出变量进行积累的变量称为状态变量,计算状态变行积累的变量称为状态变量,计算状态变量的方程称为状态变量方程量的方程称为状态变量方程• 状态变量方程在状态变量方程在 DYNAMO模型中,以模型中,以字母字母L为标志写在第一列为标志写在第一列 •例如例如1::•L LEVEL.K=LEVEL.J+DT*(INFLOW.JK­ OUTFLOW.JK)•式中:式中:•LEVEL——状态变量;状态变量;•INFLOW——输入速率(变化率);输入速率(变化率);•OUTFLOW——输出速率(变化率);输出速率(变化率);•DT——计算间隔(从计算间隔(从J时刻到时刻到K时刻)。

      时刻) •例如例如2::•L POP.K=POP.J+DT*(BIRHS.JK­DEATHS.JK)•式中:式中:•POP——人口(人);人口(人);•BIRTHS——出生率(人出生率(人/年);年);•DEATHS——死亡率(人死亡率(人/年) •3..2 速率(速率(Rate)方程)方程•在状态变量方程中代表输入与输出的变量在状态变量方程中代表输入与输出的变量称为速率,它由速率方程求出在称为速率,它由速率方程求出在DYNAMO中,速率方程以字母中,速率方程以字母R为标志与状态变量方程不同的是,速率方程没有与状态变量方程不同的是,速率方程没有标准格式,只能根据系统的具体情况书写标准格式,只能根据系统的具体情况书写 •例如例如1::•R BIRTHS.KL=BRF*POP.K•式中:式中:•BIRTHS——出生率(人出生率(人/年);年);•BRF——出生率系数(出生率系数(1/年);年);•POP——人口(人)人口(人) •例如:例如:•R DEATHS.KL=POP.K/AVLIFE•式中:式中:•DEATHS——死亡率(人死亡率(人/年);年);•POP——人口(人);人口(人);•AVLIFE——平均寿命(年)。

      平均寿命(年) •速率方程的特性:速率方程的特性:•((1)速率方程无一定的格式;)速率方程无一定的格式;•((2)速率的值在)速率的值在DT时间内式不变的速时间内式不变的速率方程式在率方程式在K时刻进行计算,而在自时刻进行计算,而在自K至至L的时间间隔(的时间间隔(DT)中保持不变;)中保持不变;•((3)速率的时间下标为)速率的时间下标为KL •3..3 辅助(辅助(Auxiliary)方程)方程•在建立速率方程之前,若未先做好某些代在建立速率方程之前,若未先做好某些代数计算,把速率方程中必需的信息仔细加数计算,把速率方程中必需的信息仔细加以考虑,那么将遇到很大的困难这些附以考虑,那么将遇到很大的困难这些附加的代数计算,在加的代数计算,在DYNAMO中称为辅助方中称为辅助方程,方程中的变量则称为辅助变量程,方程中的变量则称为辅助变量•在在DYNAMO语言中,辅助方程要以字母语言中,辅助方程要以字母A为标志写在方程的前面为标志写在方程的前面 •辅助方程的特性:辅助方程的特性:•((1)辅助方程没有统一的标准格式;)辅助方程没有统一的标准格式;•((2)辅助变量的时间下标为)辅助变量的时间下标为K;;•((3)辅助变量可由现在时刻的其他变量:)辅助变量可由现在时刻的其他变量:状态变量、速率变量或其他辅助变量求出。

      状态变量、速率变量或其他辅助变量求出 •3..4 表函数(表函数(Table Function)) 表函数表函数也是一种辅助方程,其标准格式为:也是一种辅助方程,其标准格式为: A VAR.K=TABLE(表名,输入变量,最表名,输入变量,最 小小X值值Xm,最大的,最大的X值值XM,,X的增量的增量△△X)•T 表名=表名=Y0/Y1/Y2/……Yn Y0/Y1/Y2/……Yn为特定点为特定点n的的Y坐标坐标 值•例如:例如:P53 •3..5 N方程方程•N方程的主要用途是为状态变量方程赋予初方程的主要用途是为状态变量方程赋予初始值•在模型程序中,在模型程序中,N方程通常紧跟着状态方程方程通常紧跟着状态方程•例如:例如:• L INV.K=INV.J+DT*(ORRE,JK­SH,JK)• N INV=1000 •3.6 C方程方程•C方程式用于给常数赋值方程式用于给常数赋值•例如:例如:•N BRF=LPFY*OPL*FS*FF•C LPFY=3•C OPL=3•C FS=0.6•C FF=0.5 •3.7 变量与方程图形表示的通用符号变量与方程图形表示的通用符号• P 56 4 DYNAMO的函数的函数• DYNAMO拥有的主要函数有:延迟拥有的主要函数有:延迟((Delay)函数、平滑()函数、平滑(Smooth)函数、)函数、数学函数、逻辑函数以及测试函数等。

      这数学函数、逻辑函数以及测试函数等这些函数对于建模都是十分重要的些函数对于建模都是十分重要的•4..1 延迟函数(延迟函数(Delay)) 4.1.1 物质延迟物质延迟• 例如:疾病蔓延模型 •其状态方程:其状态方程:•L INC.K=INC.J+DT*(INF.JK­SYMP.JK)•N INC=TSS*INF•R SYMP.KL=INC.K/TSS•式中:式中:• TSS为潜伏期,比如流感的潜伏期为为潜伏期,比如流感的潜伏期为3天•上述方程式可用上述方程式可用DYNAMO中的中的DELAY1方方程代替,功能相同,简明方便程代替,功能相同,简明方便•R SYMP.KL=DELAY1((INF.JK,,TSS)) •((1))DELAY1—— 一阶延迟环节一阶延迟环节• DELAY1系指一阶指数物质延迟它隐系指一阶指数物质延迟它隐含了一个状态变量(含了一个状态变量(INC)以DELAY1代代替一组方程,适应方便,但缺点是该状态替一组方程,适应方便,但缺点是该状态变量被隐含了,不能绘图和打印出来变量被隐含了,不能绘图和打印出来•如图如图4。

      6 疾病模型中的疾病模型中的DELAY1环节环节((P58))•一阶物质延迟环节的输出变化率取同一类一阶物质延迟环节的输出变化率取同一类型表达式型表达式——LEV.K/DEL,,LEV为内部隐为内部隐含的状态变量,含的状态变量,DEL为延迟时间为延迟时间•隐含于隐含于DELAY1内的状态变量的初始值,内的状态变量的初始值,DYNAMO能自动处理能自动处理 •(2))DELAY3——三阶延迟环节三阶延迟环节•P58 图图47 三阶延迟结构的流图三阶延迟结构的流图•((3))DELAYP• DELAYR函数的功能是能把函数的功能是能把DELAYP3隐含隐含的状态变量显现出来的状态变量显现出来• R SYMP.KL=DELAYP(INF,JK,TSS,INC,K)•式中式中INC(处潜伏期人口)为三阶延迟环节(处潜伏期人口)为三阶延迟环节中的三个内部状态变量总和中的三个内部状态变量总和• 一个一个DELAYP方程代表了方程代表了10个方程:三个个方程:三个状态变量、三个状态初值、三个变化率和一状态变量、三个状态初值、三个变化率和一个状态变量总和的辅助方程个状态变量总和的辅助方程。

      •((4)物质延迟的阶数)物质延迟的阶数•阶数指的是延迟环节内部包含的状态变量阶数指的是延迟环节内部包含的状态变量数•一阶延迟表现出简单的指数形增长的特性一阶延迟表现出简单的指数形增长的特性•二阶以上延迟则表现出二阶以上延迟则表现出S形增长的特性形增长的特性•所以,可以用三阶延迟代表其他延迟环节所以,可以用三阶延迟代表其他延迟环节•究竟采用哪一阶数的延迟,应根据实际系究竟采用哪一阶数的延迟,应根据实际系统如何响应输入的突然变化来定统如何响应输入的突然变化来定 4. 2 平滑函数平滑函数• 平滑(平均)的概念:信息在一段时间平滑(平均)的概念:信息在一段时间内的平均值内的平均值• 信息的平滑和平均实职上是一种积累过信息的平滑和平均实职上是一种积累过程它可以包含一个或多个状态变量它可以包含一个或多个状态变量 图2. 4 一阶平滑结构流图 •平滑(平均)函数的方程式:平滑(平均)函数的方程式:•L SVER.K=SVAR.J+DT*SRARE.JK•N SVAR=VAR•R SRARE.KL=(VAR.K--SVAR.K)/STIME•式中:式中:•SVAR——已平滑的变量;已平滑的变量;•VAR——待平滑的变量;待平滑的变量;•SRATE——平滑速率;平滑速率;•STIME——平滑时间。

      平滑时间 •上述方程式可用上述方程式可用DYNAMO中的辅助方程中的辅助方程SMOOTH函数代替:函数代替:•A SVAR.K=SMOOTH(VAR,K, ATIME)•式中:式中:•SMOOTH——平滑函数平滑函数•DYNAMO能自动处理方程的初始值问题能自动处理方程的初始值问题设置:设置:t==0时,时,SVAR=VAR.•被平滑的变量可以是状态、速率、辅助变被平滑的变量可以是状态、速率、辅助变量平滑时间量平滑时间STIME 通常为常数,但也可通常为常数,但也可以是变化的以是变化的 •4..3 信息延迟信息延迟•与物质在系统中流动存在延迟类似,信息与物质在系统中流动存在延迟类似,信息在系统中传递也存在延迟在系统中传递也存在延迟•例如:国内生产总值(例如:国内生产总值(GNP))• 社会总产值(社会总产值(Total Production of Society))• 公司当日的销售率公司当日的销售率•((1)一阶信息延迟函数)一阶信息延迟函数——SMOOTH•平滑函数经常用来描述信息的延迟平滑函数经常用来描述信息的延迟 •((2)三阶信息延迟函数)三阶信息延迟函数——DLINF3•如图如图4.12((P62))•A SV3.K=DLINF3(VAR.K, STIME)•式中:式中:• SV3­——三阶信息延迟输出;三阶信息延迟输出;• DLINF3——三阶信息延迟;三阶信息延迟;• VAR——输入变量;输入变量;• STIME——平滑或延迟时间。

      平滑或延迟时间 •DELAY3和和DLINF3的区别:的区别:• 物质流变化率可输入物质延迟环节;物质流变化率可输入物质延迟环节;• 任何信息任何信息——速率、状态、辅助变量均速率、状态、辅助变量均可被加以平滑,实现信息延迟可被加以平滑,实现信息延迟• 物质延迟与信息平滑和延迟函数的流物质延迟与信息平滑和延迟函数的流图符号如图图符号如图4.13((P62)) •4..4 数学函数数学函数•DYNAMO备有五种数学函数,采用标准数备有五种数学函数,采用标准数学符号:学符号:•((1))SQRT(X)= ,非负值变量,非负值变量X的开方;的开方;•((2))SIN(X)=sinX,变量,变量X的正弦;的正弦;•((3))COS(X)=cos(X),变量,变量X的余弦;的余弦;•((4)) ,指数函数,,指数函数,e==2.718;;•((5)) ,以,以e为底的自然对数为底的自然对数 •4..5 逻辑函数逻辑函数•DYNAMO的逻辑函数有的逻辑函数有MAX, MIN, CLIP, SWITCH等。

      等•((1))MAX(A,,B)取取A,,B中较大者,即:中较大者,即:• MAX((A,,B)=)=A,若,若A≥B• B,若,若A∠ ∠B•((2))MIN((A,,B)取)取A,,B中较小者,即:中较小者,即:• MIN((A,,B)=)=B,若,若A≥B• A,若,若A∠ ∠B •MAX函数可用来产生数的绝对值,表达式函数可用来产生数的绝对值,表达式为:为:• MAN((A,,—A))•MAX函数也可用于防止出现除式分母为函数也可用于防止出现除式分母为0和和负值的情况,表达式为:负值的情况,表达式为:• A/[MAX((B,,0.01]•(3) CLIP函数函数•CLIP((A,,B,,X,,Y)=)=A,若,若X≥Y• B,若,若X∠ ∠Y• 此函数在模型模拟过程中,用于更换此函数在模型模拟过程中,用于更换或改变原来的函数和常数值。

      或改变原来的函数和常数值 •((4))SWITCH函数函数• SWITCH((A,,B,,X)=)=A,若,若X==0• B,若,若X≠0 4..6 测试函数(测试函数(TEST))• 通过不同类型的摄动试验可以从模型及其通过不同类型的摄动试验可以从模型及其代表的反馈系统获取大量的信息这些摄代表的反馈系统获取大量的信息这些摄动试验式借助各类测试函数进行的在模动试验式借助各类测试函数进行的在模型测试中,可采用变量的突增、斜坡函数、型测试中,可采用变量的突增、斜坡函数、振荡、随机干扰等这些试验均有助于揭振荡、随机干扰等这些试验均有助于揭示模型内部结构与其动态行为的关系这示模型内部结构与其动态行为的关系这类测试的目的在于深入地研究模型和它所类测试的目的在于深入地研究模型和它所代表的信息反馈系统代表的信息反馈系统 •DYNAMO的外生摄动的测试函数包括:阶的外生摄动的测试函数包括:阶跃跃STEP、斜坡、斜坡RAMP、脉冲、脉冲PULSE、正、正弦弦SIN和噪声和噪声NOISE函数•例如:图例如:图4.14 简单库存控制系统模型流图简单库存控制系统模型流图((P65))•((1 1)阶跃函数)阶跃函数((The STEP Function))•阶跃函数:幅值在给定时刻发生突变的函阶跃函数:幅值在给定时刻发生突变的函数。

      数•STEP((A,,B))•A——阶跃的幅度;阶跃的幅度;•B——阶跃发生的时刻阶跃发生的时刻 •该函数表示:在时刻该函数表示:在时刻B前前STEP函数的值为函数的值为0,当时间等于或大于,当时间等于或大于B时,时,STEP函数等函数等于于A的值•阶跃幅值阶跃幅值A的值可正可负的值可正可负•例如:例如:•(见书(见书P67,图,图415))• A TEST.K=STEP(HGHT,STRT)• C HGHT=10• C STRT=2 •((2 2)斜坡函数)斜坡函数((The RAMP Function))•斜坡函数是一种连续增长或下降的时间的斜坡函数是一种连续增长或下降的时间的线性函数线性函数• RAMP((A,,B))•式中:式中:•A——线性函数的斜率;线性函数的斜率;•B——斜坡函数的起始时刻斜坡函数的起始时刻•在时间在时间B时刻前,时刻前,RAMP取取0值,在值,在B或或B时时刻之后其值由线性函数决定:刻之后其值由线性函数决定:• A*((TIME.K--B)) •例如:例如:• (见书(见书P68,图,图416))• A TEST.K=RAMP((SLP,,STRT))• C SLP=20• C STRT=2 •((3 3)脉冲函数)脉冲函数((The PULSE Function))• 脉冲函数为脉冲函数为DYNAMO提供瞬时冲击的方提供瞬时冲击的方法。

      变量在每一次短促的变动后立即回至法变量在每一次短促的变动后立即回至原值• PULSE((A,,B,,C))•式中:式中: A——脉冲的幅度;脉冲的幅度;•B——第一个脉冲出现的时刻;第一个脉冲出现的时刻;•C——相邻两个脉冲之间的间隔相邻两个脉冲之间的间隔•脉冲函数是一个周期性函数,分为单脉冲脉冲函数是一个周期性函数,分为单脉冲和周期性脉冲和周期性脉冲 •例如:例如:•P69 图图4.17 •((4)正弦函数()正弦函数(The SIN Function))•正弦函数,用于测试模型对于正弦振荡输正弦函数,用于测试模型对于正弦振荡输入变量的响应入变量的响应•A*SIN((6.283*TIME.K/B))•式中:式中:• A——振荡幅度;振荡幅度;•B——振荡周期;振荡周期;•6.283——2π((π为圆周率)为圆周率)•例如:例如:• P71 图图4.19和图和图4.20 •((5)噪声函数()噪声函数(The NOISE Function))•DYNAMO备有随机数发生函数,称为噪声备有随机数发生函数,称为噪声函数表达式为:函数表达式为:• NOISE[ ] 5 DYNAMO的输出问题的输出问题•5.1 输出语句输出语句•在建立状态、速率与辅助变量方程之后,在建立状态、速率与辅助变量方程之后,再加上一些输出语句,就能使计算机执行再加上一些输出语句,就能使计算机执行模拟、打印结果和绘制曲线。

      模拟、打印结果和绘制曲线•另外,在各种方程编制完毕后,建模者即另外,在各种方程编制完毕后,建模者即可用可用SD的专用模拟软件进行模拟,并可根的专用模拟软件进行模拟,并可根据模拟结果,进行政策分析与决策据模拟结果,进行政策分析与决策 •((1))SPEC语句语句• 在在SD中,中,SPEC语句规定模型模拟需要语句规定模型模拟需要的参数•此语句包括此语句包括4种参数与常数:种参数与常数:DT、、 LENGTH、、 PRTPER和和PLTPER• DT——计算间隔,即两次模拟计算之计算间隔,即两次模拟计算之间隔;间隔;• LENGTH——这是一个时间常数,规定这是一个时间常数,规定模拟停止的时刻当模拟停止的时刻当TIME.K等于或大于等于或大于LENGTH的值时,即令模拟停止;的值时,即令模拟停止; •PRTPER——给定绘制图形相邻两点的时给定绘制图形相邻两点的时间间隔不加特别说明时,间间隔不加特别说明时,DYNAMO假定假定PRTPER值为值为0;;•PLTPER——给定打印结果相邻两数据间给定打印结果相邻两数据间的时间间隔不加特别说明时,的时间间隔不加特别说明时,DYNAMO假定假定PLTPER值为值为0。

      •例如:例如:•SPEC DT=1/LENGTH=100/PRTPER=5/PLTPER=2• 如果起始时间为如果起始时间为0,则该语句的结果是:,则该语句的结果是:51行绘图输出(第一行对于时间为行绘图输出(第一行对于时间为0,另加,另加LENGTH/PLTPER=100/2=50行),并以行),并以表格形式打印出数据表格形式打印出数据21行•((2 2))PRINTPRINT与与PLOTPLOT语句语句•PRINT与与PLOT语句分别说明需要打印与绘语句分别说明需要打印与绘图的变量图的变量。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.