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. zoj 3602

    链接 [https://vjudge.net/contest/293343#problem/C] 题意 给你两棵树.为有多少对子树是同构的 分析 就是简单的哈希吧.对于不同结构的树对应不同的哈希值 先 ...

  2. 小小知识点(八)——星座图与PSK、QAM调制的关系

    星座图是对PSK和QAM调制相位和幅度的一种表示,让我们只关注被调制参量本身,而不管已调信号波形及其频率. 在信号传输仿真时也一样,我们只关注携带信息的幅值和相位,而不管信号的传输波形和频率.这就是为 ...

  3. LinkedHashMap源码分析

    hashMap源码分析:hashMap源码分析 版本说明:jdk1.7LinkedHashMap继承于HashMap,是一个有序的Map接口的实现.有序指的是元素可以按照一定的顺序排列,比如元素的插入 ...

  4. 认识 CXF(WebService框架)

    Apache CXF = Celtix + Xfire 支持多种协议: 1)SOAP1.1,1.2 2)HTTP 3)CORBA(Common Object Request Broker Archit ...

  5. VUE如何实现切换页面时的过渡动画?

    最近再写页面的时候,感觉页面之间的切换有点生硬,所以查了一下文档看见了transition这个组建,很实用,故此在这里跟大家分享一下 --------------------------------- ...

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

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

  7. Android数据库优化

    1.索引 简单的说,索引就像书本的目录,目录可以快速找到所在页数,数据库中索引可以帮助快速找到数据,而不用全表扫描,合适的索引可以大大提高数据库查询的效率.(1). 优点大大加快了数据库检索的速度,包 ...

  8. 【XSY3320】string AC自动机 哈希 点分治

    题目大意 给一棵树,每条边上有一个字符,求有多少对 \((x,y)(x<y)\),满足 \(x\) 到 \(y\) 路径上的边上的字符按顺序组成的字符串为回文串. \(1\leq n\leq 5 ...

  9. Shell 简单构建 Node web服务器

    .git bash 执行代码生成: ./makeJs.sh 生成文件如下: 访问:http://127.0.0.1:3030/index.html makeJs.sh  代码如下: #create m ...

  10. Intel格式与Motorola格式的区别

      Intel低字节在前 Motorola高字节在前    在进行CAN总线通信设计或者测试过程中,经常看到CAN总线信号的编码格式有两种定义:Intel格式与Motorola格式.究竟两种编码格式有 ...