创建存量变量

来源:互联网 发布:员工互评系统源码 php 编辑:程序博客网 时间:2024/05/17 08:48

1.1 存量

    创建存量变量

1.      在调色板视图下的Model页面中选择Stock元素。

2.      在图形化编辑器中您所期望的位置点击鼠标,放置该存量。

3.      在属性视图下的Equation部分中,定义该存量的微分方程。输入等式d(<stock_name>)/dt=文本编辑框右半部分的内容。

4.      Initial value文本编辑框中设置存量变量的初始值。

1.2 流量

    创建从一个存量指向另一个存量的流量

1.      双击流出的存量变量,然后单击流入的存量变量。

2.      AnyLogic将创建一个新的流量,该变量是第一个存量变量的输出流,第二个存量变量的输入流。存量与流量之间的箭头描述了各种变量之间的依赖关系。

3.      进入属性视图下的General页面设置流量的属性。

4.      如果需要对流量进行重命名,则需要使用重构功能。再Name文本编辑框中输入流的新名称,然后,按下Ctrl+Enter对存量变量中所涉及到该流量的公式进行更新。

5.      <flow_name>=文本编辑框中输入流量值的计算公式。

1.3 辅助变量

    创建辅助变量

1.      在调色板视图下的Model页面中选择Flow Aux Variable元素。

2.      在图形化编辑器中恰当的位置点击鼠标,放置辅助变量。

3.      <variable_name>=编辑框中输入辅助变量的计算公式。

4.      如果您希望创建一个值为常量的辅助变量,请选中Constant复选框。

1.4 表格函数

AnyLogic支持一种特殊类型的函数——表格函数。所谓表格函数,是指用表格定义的函数。AnyLogic能够自动利用插值和(或)外推的方法,将这一系列离散的点转换成连续的函数。如果需要定义的函数关系具有复杂的非线性关系,不能通过标准的函数组合表达,您就可以使用表格函数,或者有时需要把离散的实验数据转换成连续的形式,也需要使用表格函数。

表格函数的工作模式如下:首先用户给出一组(参数,值)对,即XY坐标系中的一系列点;AnyLogic根据这组数据和选定的插值方法建立表格函数。当用户通过一个参数调用该函数,将会返回一个可能的插值结果。当x的值超出提供的参数范围时,AnyLogic提供了一系列的处理办法供选择。

    定义一个表格函数

1.      在调色板视图下的Model页面中选择Table Function元素。

2.      在图形化编辑器中恰当的位置点击鼠标,放置该表格函数的图标。

3.      进入属性视图下的General页面,定义表格函数的属性。

4.      Name文本编辑框中输入表格函数的名称。

5.      Table Data表中定义表格函数的数据项。该表格的每一列对应表格函数的一个“参数-值”对。在定义数据项时,在Table Data表最下面一列的Argument单元格中输入参数值,在Function单元格中输入对应的函数值。如果需要删除某一条数据项,首先选中该数据项所在的列,然后点击按钮。

6.      Interpolation下拉列表中选出一项作为表格函数的插值方法。

7.      Out of range下拉列表中选出一项作为参数超出范围时的处理办法。

1.4.1 表格函数的插值方法

AnyLogic提供了多种方法对表格函数进行插值处理,包括如下几种:

      None——不进行插值处理。

       Step——步长插值。两个参考点之间的函数值为常数,并且与较小的那个参考点的函数值相等。

      Linear——线性插值。使用直线段将两个参考点连接起来。

       Spline——四次样条插值。使用四阶多项式将参考点连接起来。样条函数在每个参考点上的零阶、一阶、二阶偏导数都连续,并且在最后一个点上的二阶偏导数等于0

如果您希望得到一个平滑的曲线,那么最好使用四次样条插值。然而与线性插值方法相比,使用四次样条插值方法需要花费较多的时间,因此,如果一个不连续的函数能够满足需要,尽量采用线性插值方法。

    设置插值方法

1.      在图形化编辑器或者项目视图中选中表格函数。

2.      进入属性视图的General页面,从Interpolation下拉列表中选出您所需要的插值类型。

1.1.1 参数值超出可行域的处理方法

如果使用了某种插值方法,则表格函数的可行域函数的定义域,如果没有使用插值方法,则表示由参考点组成的集合。您需要定义当参数值超出表格函数可行域时的处理办法,AnyLogic中提供的方法如下:

       Error——如果参数值超出可行域,则会抛出一个运行错误,并弹出一个消息框对该错误进行描述。

       Nearest——采用外推的方法,不可行域中的参数值用可行域中距离该点的最近的点的函数值代替,也就是说,如果参数值小于(大于)可行域的下界(上界),则用表格函数下边界(上边界)的对应函数值代替该参数的函数值。

       Repeating——采用循环的方法对表格函数进行外推,也就是说,按照可行域中的函关系周期性的循环。

       Custom——如果参数值超出了表格函数的可行域,则将返回一个固定值,这个值可以在Value文本编辑框中自行定义。

    设置参数超出可行域的处理办法

1.      在图形化编辑器或者项目视图中选中表格函数。

2.      进入属性视图的General页面,从Out of range下拉列表中选出您所需要的处理办法。

 

原创粉丝点击