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. bound+vlan

  2. ubuntu下安装Visual Studio Code

    环境准备 先安装一般umake没有问题 sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make sudo apt-get update sudo ...

  3. 启用shopt 选项实现不使用 CD 命令进入目录/文件夹

    众所周知,如果没有 cd 命令,我们无法 Linux 中切换目录.这个没错,但我们有一个名为 shopt 的 Linux 内置命令能帮助我们解决这个问题. shopt 是一个 shell 内置命令,用 ...

  4. Java Selenium中的几种等待方式

    Selenium自动化性能测试过程中,经常会出现取不到界面元素,主要原因是界面元素的加载与我们访问页面的时机不一致.可能是界面要素过多或者网络较慢,界面一直加载中:为了解决这种问题,selenium提 ...

  5. MVC中使用Hangfire按秒执行任务

    更新Hangfire版本到1.7.0,才支持使用按秒循环任务执行 RecurringJob.AddOrUpdate("test",()=>writeLog("每20 ...

  6. PowerBi利用Python Script绕过ODBC来导入MongoDB数据

  7. Adding appsettings.json to a .NET Core console app

    This is something that strangely doesn’t seem to be that well documented and took me a while to figu ...

  8. rockchip 3128 平台USB接口鼠标U盘功能调试日记

    2019-04-12 关键词: rk3128 OTG.rk3128外接鼠标U盘.RK外接鼠标U盘 本篇文章是笔者根据自己当前所掌握知识对 rk3128 平台 USB 接口接鼠标实现输入功能调试的一个记 ...

  9. Linux keepalived+lvs实现高可用负载均衡

    LVS的具有强大的负载均衡功能,但是它缺少对负载层节点(DS)的健康状态检测功能,也不能对后端服务(RS)进行健康状态检测:keepalived是专门用来监控高可用集群架构的中各服务的节点状态,如果某 ...

  10. 修改linux下yum镜像源为国内镜像

    修改为163yum源-mirrors.163.com 1.首先备份系统自带yum源配置文件/etc/yum.repos.d/CentOS-Base.repo [root@localhost ~]# m ...