电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

第三章 DYNAMOL模拟语言VIP免费

第三章    DYNAMOL模拟语言_第1页
1/51
第三章    DYNAMOL模拟语言_第2页
2/51
第三章    DYNAMOL模拟语言_第3页
3/51
第三章DYNAMO模拟语言•DYNAMO,取名来自DynamicModels的缩写,是一种计算机模拟语言系统。•用DYNAMO写成的反馈系统模型经计算机进行模拟,可得到随时间连续变化的系统图像。建模者可据此分析系统的结构、功能及行为。在此基础上,进行政策分析与决策,实现预测和择优的目的。•1DYNAMO中的时间下标DTDTJKKLKJL现在时刻前一时刻下一时刻图2.1DYNAMO中的时间下标•例如:•库存系统的方程可用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件2DYNAMO的有关规定与规则•2.1变量名字符的规定•变量名字符不超过6个。变量名的第一字符必须是字母,其后则可为字母或数字。•如:LEV、LEV1、LEV2、X1、X2等2.2代数运算符的表示•SD通用的代数运算符:•加法:=减法:-•乘法:*•除法:/•代数运算的顺序是:先乘方、开方,再乘、除,最后加、减。•括号内的加、减优于括号外的运算。•同一层次的运算符,按先左后右的原则进行运算。•2.3方程的列数•一个方程中不能有空格,每行不能超过72列。一行不够可另起一行,但第一列必须以字符“X”作为标记。(P66)•2.4变量与常量•DYNAMO中的所有数量可分为大两类:•(1)变量:其值是可变的,有时间下标。•(2)常量:其值在一次模拟过程中不变,没有时间下标。•例如:SALE.K——变化的销售量•SALE——固定的销售量3DYNAMO的方程式•3.1状态(State,Level)变量方程•在SD中,凡是能对输入和输出变量进行积累的变量称为状态变量,计算状态变量的方程称为状态变量方程。•状态变量方程在DYNAMO模型中,以字母L为标志写在第一列。•例如1:•LLEVEL.K=LEVEL.J+DT*(INFLOW.JK-OUTFLOW.JK)•式中:•LEVEL——状态变量;•INFLOW——输入速率(变化率);•OUTFLOW——输出速率(变化率);•DT——计算间隔(从J时刻到K时刻)。•例如2:•LPOP.K=POP.J+DT*(BIRHS.JK-DEATHS.JK)•式中:•POP——人口(人);•BIRTHS——出生率(人/年);•DEATHS——死亡率(人/年)。•3.2速率(Rate)方程•在状态变量方程中代表输入与输出的变量称为速率,它由速率方程求出。在DYNAMO中,速率方程以字母R为标志。与状态变量方程不同的是,速率方程没有标准格式,只能根据系统的具体情况书写。•例如1:•RBIRTHS.KL=BRF*POP.K•式中:•BIRTHS——出生率(人/年);•BRF——出生率系数(1/年);•POP——人口(人)。•例如:•RDEATHS.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表函数(TableFunction)表函数也是一种辅助方程,其标准格式为:AVAR.K=TABLE(表名,输入变量,最小X值Xm,最大的X值XM,X的增量△X)•T表名=Y0/Y1/Y2/……YnY0/Y1/Y2/……Yn为特定点n的Y坐标值。•例如:P53•3.5N方程•N方程的主要用途是为状态变量方程赋予初始值。•在模型程序中,N方程通常紧跟着状态方程。•例如:•LINV.K=INV.J+DT*(ORRE,JK-SH,JK)•NINV=1000•3.6C方程•C方程式...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

第三章 DYNAMOL模拟语言

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部