anylogic 常用模块及术语的使用
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 常用模块及术语的使用的更多相关文章
- python常用模块及面向对象(一)
目录: 常用模块之time模块 常用模块之random模块 常用模块之os模块 常用模块之sys模块 常用模块之subprocess模块 常用模块之json模块 常用模块之pickle模块 常用模块之 ...
- atitit 商业项目常用模块技术知识点 v3 qc29
atitit 商业项目常用模块技术知识点 v3 qc29 条码二维码barcodebarcode 条码二维码qrcodeqrcode 条码二维码dm码生成与识别 条码二维码pdf147码 条码二维码z ...
- 《Ansible权威指南》笔记(3)——Ad-Hoc命令集,常用模块
五.Ad-Hoc命令集1.Ad-Hoc命令集通过/usr/bin/ansible命令实现:ansible <host-pattern> [options] -v,--verbose ...
- python学习笔记(5)--迭代器,生成器,装饰器,常用模块,序列化
生成器 在Python中,一边循环一边计算的机制,称为生成器:generator. 如: >>> g = (x * x for xin range(10)) >>> ...
- 进击的Python【第五章】:Python的高级应用(二)常用模块
Python的高级应用(二)常用模块学习 本章学习要点: Python模块的定义 time &datetime模块 random模块 os模块 sys模块 shutil模块 ConfigPar ...
- Python模块之常用模块,反射以及正则表达式
常用模块 1. OS模块 用于提供系统级别的操作,系统目录,文件,路径,环境变量等 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("di ...
- python学习笔记之常用模块(第五天)
参考老师的博客: 金角:http://www.cnblogs.com/alex3714/articles/5161349.html 银角:http://www.cnblogs.com/wupeiqi/ ...
- day--6_python常用模块
常用模块: time和datetime shutil模块 radom string shelve模块 xml处理 configparser处理 hashlib subprocess logging模块 ...
- Tengine 常用模块使用介绍
Tengine 和 Nginx Tengine简介 从2011年12月开始:Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能 和特性. ...
随机推荐
- MVC设计思想
MVC就是按照程序的功能将他们分成三个层,Model层(模型层),View层(显示层),Controller(控制层). Model层:可以细分为两层,分别是dao层.service层,这两层主要功能 ...
- vue学习初探
一.环境的搭建安装 VS Code vue开发环境的搭建 理解vue的脚手架 合适的cnpm版本
- Bool的转录功能
Bool的转录功能 and 当and前边的条件成立时,才执行后边的条件.当前边的条件不成立时,后边的条件一定执行. 特性实用: 不使用if.while写一个具有判断功能的代码. def fun(): ...
- 获取url参数值(可解码中文值)
/** * 根据指定参数名称获取参数值 * @param {String} urlStr 参数名称 * @return {Object} 参数值 * */ getUrlParams = functio ...
- Mint-ui 脱坑日记
Field表单组件 这个组件真是大坑特坑 带默认背景边框 找了半天才找到 原生属性 :attr="{ maxlength:10 }" 是可以设置原生属性的 注意此处限制的输入长度 ...
- Spark2.2 saveAsTable 函数使用 overWrite 设置 Partition 会造成全覆盖的问题
在使用 CDH 6.0.X 的版本还是自带的是 Spark2.2 的版本,2.2 版本的 Spark 使用 saveAsTable 如果使用overWrite PartitionBy 的功能会有和 h ...
- 从JS的深拷贝与浅拷贝到jq的$.extend()方法
一.堆内存与栈内存 堆和栈都是内存中划分出来的用来存储的区域,栈为自动分配的内存空间,它由系统自动释放,堆为动态分配的内存,大小不定也不会自动释放. 二.js基本数据类型与引用类型的不同 基本数据类型 ...
- 深度学习结合SLAM研究总结
博客转载自:https://blog.csdn.net/u010821666/article/details/78793225 原文标题:深度学习结合SLAM的研究思路/成果整理之 1. 深度学习跟S ...
- sql中检查时间是否重叠
先画一个时间轴,方便理解. 设新的时间块,开始时间为@BeginDate,结束时间为@EndDate.数据库中的数据为BeginDate和EndDate 这样可以直观的看出来,新的时间块插入进来,只需 ...
- ansible命令
ansible 默认提供了很多模块来供我们使用.在 Linux 中,我们可以通过 ansible-doc -l 命令查看到当前 ansible 都支持哪些模块,通过 ansible-doc -s ...