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下拉列表中选出您所需要的处理办法。

anylogic 常用模块及术语的使用的更多相关文章

  1. python常用模块及面向对象(一)

    目录: 常用模块之time模块 常用模块之random模块 常用模块之os模块 常用模块之sys模块 常用模块之subprocess模块 常用模块之json模块 常用模块之pickle模块 常用模块之 ...

  2. atitit 商业项目常用模块技术知识点 v3 qc29

    atitit 商业项目常用模块技术知识点 v3 qc29 条码二维码barcodebarcode 条码二维码qrcodeqrcode 条码二维码dm码生成与识别 条码二维码pdf147码 条码二维码z ...

  3. 《Ansible权威指南》笔记(3)——Ad-Hoc命令集,常用模块

    五.Ad-Hoc命令集1.Ad-Hoc命令集通过/usr/bin/ansible命令实现:ansible <host-pattern> [options]    -v,--verbose  ...

  4. python学习笔记(5)--迭代器,生成器,装饰器,常用模块,序列化

    生成器 在Python中,一边循环一边计算的机制,称为生成器:generator. 如: >>> g = (x * x for xin range(10)) >>> ...

  5. 进击的Python【第五章】:Python的高级应用(二)常用模块

    Python的高级应用(二)常用模块学习 本章学习要点: Python模块的定义 time &datetime模块 random模块 os模块 sys模块 shutil模块 ConfigPar ...

  6. Python模块之常用模块,反射以及正则表达式

    常用模块  1. OS模块 用于提供系统级别的操作,系统目录,文件,路径,环境变量等 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("di ...

  7. python学习笔记之常用模块(第五天)

    参考老师的博客: 金角:http://www.cnblogs.com/alex3714/articles/5161349.html 银角:http://www.cnblogs.com/wupeiqi/ ...

  8. day--6_python常用模块

    常用模块: time和datetime shutil模块 radom string shelve模块 xml处理 configparser处理 hashlib subprocess logging模块 ...

  9. Tengine 常用模块使用介绍

    Tengine 和 Nginx Tengine简介 从2011年12月开始:Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能 和特性. ...

随机推荐

  1. jeecg入门操作—一对多表单开发

    一.创建主表 创建订单主表(torder_main)  二.创建附表客户信息表(torder_customer) 设置附表页面外键不可见 设置附表外键  三.创建附表机票 信息表(torder_tic ...

  2. JDK8中HashMap

    引用别人的一句话: JDK1.6,JDK1.7中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里.但是当位于一个桶中的元素较多,即hash值相等的元素较多 ...

  3. RMQ区间最大值与最小值查询

    RMQ复杂度:建表$O\left ( nlgn \right ) $,查询$O\left ( 1 \right )$ ll F_Min[maxn][20],F_Max[maxn][20]; void ...

  4. 解决hash冲突的方法

    复制粘贴于:https://www.cnblogs.com/wuchaodzxx/p/7396599.html#H1_2 开放地址法(线性探测法.二次探测.伪随机探测) 再哈希法 链地址法 建立公共溢 ...

  5. EXT 设置编辑框为只读

    Ext.getCmp("processResult").setReadOnly(ture);   //processResult是属性的id,setReadOnly(ture)设置 ...

  6. vscode 打开多个标签页

    默认只打开2个,按如下设置可以支持多开: 路径C:\Users\admin\AppData\Roaming\Code\User下的settings.json添加一条配置:"workbench ...

  7. linux查看目录下各个文件大小的命令

    linux查看目录下各个文件大小的命令 由于需要经常查看各个文件的具体大小 ,所以这里记一下. 命令如下: du -h --max-depth=1

  8. 开发过程中,ps要做的事情

    修改图片的分片率 把背景改为透明的 把一个图片的颜色要一下

  9. 失去焦点布局在ios12-微信6.7.0版本以上不回滚的解决方案

    微信页面input获取焦点,布局上移,失去焦点布局在ios12-微信6.7.0版本以上不回滚的解决方案: setTimeout(function(){ let scrollHeight = docum ...

  10. 使用Yii2的Web框架搭建微服务框架

    方法 使用自己的Yii2镜像作为基础 使用Yii2的Web框架搭建,为了节省搭建Yii2框架的时间,直接使用现有的Yii2项目,删除了业务相关的逻辑类,将这个代码库作为搭建微服务框架的基础,本身已经积 ...