Realitycheck真实性检验Word下载.docx

上传人:b****2 文档编号:15092165 上传时间:2022-10-27 格式:DOCX 页数:6 大小:30.44KB
下载 相关 举报
Realitycheck真实性检验Word下载.docx_第1页
第1页 / 共6页
Realitycheck真实性检验Word下载.docx_第2页
第2页 / 共6页
Realitycheck真实性检验Word下载.docx_第3页
第3页 / 共6页
Realitycheck真实性检验Word下载.docx_第4页
第4页 / 共6页
Realitycheck真实性检验Word下载.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

Realitycheck真实性检验Word下载.docx

《Realitycheck真实性检验Word下载.docx》由会员分享,可在线阅读,更多相关《Realitycheck真实性检验Word下载.docx(6页珍藏版)》请在冰豆网上搜索。

Realitycheck真实性检验Word下载.docx

若违反,说明模型尚不完善,则要调整模型的结构和参数,直到符合这些约束条件。

真实性检验的描述部分完全独立于模型本身,不会改变模型结构和行为模式。

模型真实性检验的定义

1.变量的命名

检验语句是对于假设的描述,是由实际系统出发对于模型的行为模式的断言。

它一般包含的变量是“判断句”。

有别于一般的变量用名词命名,它一般用表示判断的短语命名。

例如:

noworkernoproduction,rainmeansflooding。

2.输入测试变量(TestInput)

用来代替一个等式。

它只能用作约束的前提条件,可以使约束变得简单易读。

在约束表达式中,在其条件部分出现以一个逻辑变量形式出现。

其定义形式为:

name:

TESTINPUT:

variable=expression

其中,name表示变量名,:

是变量类型标识,而后面等式是定义的对象。

等式右边可以是允许的任意表达式。

等式左右边的构成变量均来自模型。

例如:

bestcondition:

temperature=3*initialtemperature

3.时间演进函数(TimeTransition)

该函数的自变量是时间,而函数值是随时间变化的变量值。

其一般表达式为:

variable=TIMETRANSITION(X,…,Y,….)

其中X是时间,而函数值variable按一定的对应规则取相应的Y。

在Y的列举中,可以有“-”,表示保持模型的值,而“*”表示采用模型的计算值。

实际上,Y是我们对于模型行为模式随时间变化的一种假定的表示。

主要形式有以下几例:

profit=TIMETRANSITION(0,30,80,100,20,50,50,15)

表示profit随时间变化的折线图。

时间由0、30、80到100,profit由20斜线上升到50,保持50不变,然后斜线下降到15。

profit=TIMETRANSITION(30,80,100,-,50,*)

表示profit在时间30以前采用模型正常值A;

在时间区间30-80,profit采用以(30,A)为起点,以(80,50)为终点直线上的值;

在时间区间80-100,将采用模型的计算值。

profit=TIMETRANSITION(30,80,100,*,50,*)

表示在时间区间30-80,profit采用模型的计算值,在时间为80时值为50。

其余与上相同。

通过一个变量的时间演进函数与一个表达式的积,可以构造另一个变量的时间演进函数。

variable=TIMETRANSITION(X,…,Y,…)*expression

bigworkforce:

Workforce=TIMETRANSITION(35,50,*,1)*MAXWORKFORCE

又如:

goodprofit:

profit=TIMETRANSITION(0,30,80,100,1,0.7,0.8,0.9)

*(revenue-cost)

注意,“-”和“*”的使用有以下限制:

∙%1时间值必须是递增的。

∙%1“-”不能在数字和另一个“-”后面出现。

它只能在第一个Y的位置出现,但“*”可以在其后面出现。

∙%1若一个数值后面有“*”,则“*”后不能再跟随其它的数值,但可以再跟随一个“*”。

5.约束的结构

一般的结构是:

name(名字):

THECONDITION:

condition(条件):

IMPLIES:

consequence(结果)

其中“:

”和“:

”是约束语句的关键词。

而condition是约束语句的条件表达式部分,consequence是结果表达式部分,它们都是逻辑表达式。

逻辑表达式

逻辑表达式可以由“=,>

,<

,:

AND:

OR:

NOT:

”等构成。

在其condition部分,应该尽量采用TESTINPUT变量,这样便于理解。

若不采用,尽量避免使用复杂的逻辑关系。

nocapitalnoproduction:

Capital=0:

Production=0

bigproblem:

Population>

8E9:

(foodratio<

0.75:

Pollution>

CRITICALPOLLUTION):

Food<

=TIMETRANSITION(50,100,-,1)

但是,在逻辑表达式中,一般除等式外,不允许出现代数运算。

如下式是错误的。

popltcc:

Population<

CarryingCapacity*1.1:

deathsfromcrowding<

1000

可用下式来代替以上:

Population=CarryingCapacity*1.1:

或先定义输入测试变量:

popatccplus10:

Population=CarryingCapacity*1.1

然后再定义约束:

deathsfromcrowding<

无条件约束

有时,约束的条件部分是空的。

debtbounded:

THECONDITION:

:

debt<

4E6

它表示在任何条件下debt的最大值是4E6。

在进行该约束时,Vensim将通过模型模拟检验debt的值是否大于4E6。

若大于,则报违反信息。

在结果表达式中的时间演进函数

nobirthnopop:

births=TIMETRANSITION(50,60,*,0):

TIMETRANSITION(150,160,*,0)

它表示,在停止出生100年后,人口将会为零。

在结果表达式中使用通配符

有时为了检验是否所有变量都满足同一条件,可在结果表达式中使用通配符“*”以代替所有变量。

allpeaceful:

FINALTIME=101:

*<

1E9:

*>

-1E3

用于测试是否所有变量在-1E3和1E9之间。

FINALTIME=101对于检验进行限制,因为若使用无条件表达式,这一检验是很费时间的。

将真实性检验键入模型

在Vensim标准版中,有三种方法将真实性检验加入模型。

一种是利用EquationEditor,一种是利用TextEditor,一种是在流图上直接定义变量建立。

但VensimPLE的EquationEditor似乎不提供这一功能。

虽然VensimPLE未提供TextEditor,但我们可以利用其它的文本编辑器实现真实性检验的建立。

流图法在VensimPLE中可以实现。

1.流图法

在模型建立后,可以先利用模型建立工具定义真实性检验的变量,然后用因果关系箭头建立这些变量之间的联系(它们之间联系并不是真实的因果关系),最后在EquationEditor中写入与每个变量有关的表达式。

其缺点是从外观上改变了模型的结构。

容易造成混乱。

图示是建立的inven1.vmf模型。

读者可以通过EquationEditor观察变量的定义。

====================================================================

RCCOMPARE('

runname'

var,mult[,start[,duration]])

RCCOMPARECHECK('

var,grace,mult[,start[,duration]])

RCDECAY(basis,decaytime[,start[,duration]])

RCDECAYCHECK(grace,basis,decaytime[,start[,duration]])

RCGROW(basis,growrate[,start[,duration]])

RCGROWCHECK(grace,basis,growrate[,start[,duration]])

RCRAMP(basis,mult,ramptime[,start[,duration]])

RCRAMPCHECK(grace,basis,mult,ramptime[,start[,duration]])

RCSTEP(basis,mult[,start[,duration]])

RCSTEPCHECK(grace,basis,mult[,start[,duration]])

TheRCandRCCHECKfunctionsallworkinthesamemanner.Eachkeepsavariableatitsnormallygeneratedmodelvalueuntilaspecifiedtime,andthendefinesanewtrajectory.TheRCfunctionsareusedintestinputs(in:

partofaRealityCheck)andtheRCCHECKfunctionsareusedintheconsequence(:

)portionofaRealityCheck.Eachofthefunctionsallowsyoutospecifythetimeatwhichthechangetoanewtrajectoryshouldoccur,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1