计算机仿真
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.3 仿真 物理仿真:在没有计算机以前,仿真都是利用实物 物理仿真 或者它的模型来进行研究的,又称物理仿真。 优点:直接、形象、易信. 缺点:模型受限、易破坏、难以重用。 数学仿真:对实际系统进行抽象,并将其特性用数 数学仿真: 学关系加以描述而得到系统的数学模型,对数学模 型进行实验的过程称为数学仿真。 优点:方便、灵活、经济 缺点:受限于系统建模技术,即系统数学模型不易 建立。 计算机技术的发展为数学仿真创造了环境。
方案编号 方案1 方案1 方案2 方案2 方案3 方案3 方案4 方案4 方案5 方案5 订货点P 订货点P 125 125 150 175 175 订货量Q 订货量Q 150 250 250 250 300
其它已知条件 1)从发出订货单到收到货物隔3天; 1)从发出订货单到收到货物隔3 2)每辆自行车每天的保管费为0.75元; 2)每辆自行车每天的保管费为0.75元; 3)每辆自行车每天的缺货费为1.8元; 3)每辆自行车每天的缺货费为1.8元; 4)每次的订货费为75元; 4)每次的订货费为75元; 5)原始库存为115辆,并假设第一天没有发出订货单; 5)原始库存为115辆,并假设第一天没有发出订货单; 6)自行车每天的需求量服从0~99之间的均匀分布。 6)自行车每天的需求量服从0 99之间的均匀分布。
A
Байду номын сангаас
D
C
例2 库存问题 某自行车商店的仓库管理员采用一种简单的订货策 略,当库存量降到P辆时就向厂家订货,每次订Q辆, 当库存量降到P辆时就向厂家订货,每次订Q 如果某一天的需求量超过了库存量,商店就有销售 损失和信誉损失, 但如果库存过多, 将导致资金积压和 保管费增加,若现 有以下五种库存策 略,请帮仓库管理 员确定花费最少的 策略。 策略。 注意; 注意; P<Q
③ 仿 真 流 程
初 始 化: VT=2000,ST=2,SR=0.001,t=0, △t=1,T=0
t ←t + △t ,T ← T + △t 计算池水体积VT,含盐量 ,含盐率SR 计算池水体积 ,含盐量ST,含盐率
是
SR ≥ SF ?
否
否
T = 10 ? 打印 t,VT,ST,SR ,
是
打印 t,VT,ST,SR , 下一个观察周期开始, 下一个观察周期开始,T ← 0
3) 系统的三要素 实体:系统内的对象,系统的组成元素. 实体:系统内的对象,系统的组成元素.实体确定了系 统的构成,也确定了系统边界。 属性:系统内实体的有效特征,它可以是文字型、数 属性:系统内实体的有效特征,它可以是文字型、数 字型或逻辑型. 字型或逻辑型.属性也称为描述变量,描述每一 实体的特征。 活动:系统内部发生的任何变化过程。活动定义了系 活动:系统内部发生的任何变化过程。活动定义了系 统内部实体之间的相互作用,从而确定了系统 内部发生的变化过程。
4)系统状态 系统状态 系统的状态是指在某一时间点上,实体及其属性值 的集合。 在任意给定的时间,对系统所有实体、属性和活动 的情况,都用系统状态加以描述。
5) 系统类型
按活动是否具有随机性分
确定型系统
随机系统
随机型活动通常用概率分布加以描述,如电 路系统中的噪声、电话系统中通话时间的长 短等,属于随机系统。
2) 模型构造 ①收集、整理、分析数据 注水速度:6, 排水速度:4 注水速度:6, 排水速度:4 每分钟水的体积增加,6- 每分钟水的体积增加,6-4=2 注入水的含盐率:0.5, 注入水的含盐率:0.5, 每分钟向池内注入盐 6×0.5=3 0.5= 最终含盐率:SF=0.2 最终含盐率:SF=0.2 t时刻 水的体积 VT 水的含盐量 ST 水的含盐率 SR 每分钟向池外流出盐 4×SR 每分钟池内盐增加 3- 4×SR
1 )系统分析 )系统分析 实体1 实体1:自行车 属性:保管费,缺货费,库存量,需求量 活动:进货,销售 实体2 实体2:订单 属性:从发出订货单到收到货物间隔, 属性:从发出订货单到收到货物间隔,订货费 活动:发出订单,收到订货 这是一个随机离散系统的仿真问题。
t 10 20 … 80 90 … 170 180 185 VT 2020 2040 … 2140 2160 … 2340 2360 2370 ST 31.69365 60.81008 … 224.5663 250.2118 … 441.2655 463.5802 474.6208 SR 0.01569 0.02909 … 0.10397 0.11478 … 0.18857 0.19643 0.20026
三. 适合用计算机仿真解决的问题 1)难以用数学公式描述的系统,或者没有求解的 1)难以用数学公式描述的系统,或者没有求解的 有效数学方法; 2)虽然可以用解析方法解决问题,但数学的分析 2)虽然可以用解析方法解决问题,但数学的分析 与计算过于复杂,这时计算机仿真可能提供简单 可行的求解方法; 3)希望能在较短的时间内观察到系统发展的全过 3)希望能在较短的时间内观察到系统发展的全过 程,以估计参数对系统行为的影响; 4)难以在实际环境中进行实验和观察时,计算机 4)难以在实际环境中进行实验和观察时,计算机 仿真是唯一可行的方法,例如太空飞行的研究; 5)需要对系统或过程进行长期运行的比较,从大 5)需要对系统或过程进行长期运行的比较,从大 量方案中寻找最优方案。
计算机仿真
1.系统仿真概论 1.系统仿真概论 2. 时间步长法 3. 事件表法 4. Monte Carlo 方法
武汉理工大学理学院 数学系
王展青
绪 论
一.什么是计算机仿真 计算机仿真是利用计算机对一个实际系统的 结构和行为进行动态演示,以评价或预测该 系统的行为效果。它是解决较复杂的实际问 题的一条有效途径。 计算机仿真在航空、机电、冶金等工业部门 及社会经济、交通运输、生态系统等方面有 着广泛的应用,已成为分析、研究和设计各 种系统的重要手段。
仿真步骤及流程
1 系 统 分 析
问题的分析 项目研究计划
仿真结束
4 输 出 结 果
建立模型
收集数据
输出结果 否
2 模 型 构 造
编制程序
是
进一步运行
否
程序验证 运行与分析
3 运 行 与 改 进
否
模型确认
否
实验设计
2 时间步长法
2.1 仿真时钟 在进行系统仿真时,可以把整个仿真过程分为许 多相等的时间间隔,时间间隔的长度可根据实际 问题分别取作秒、分、小时、天、周、月、年等。 程序中按此间隔前进的虚拟时钟就是仿真的时钟, 程序中按此间隔前进的虚拟时钟就是仿真的时钟, 此时间间隔称为仿真时钟的步长。 此时间间隔称为仿真时钟的步长。 选取系统的一个初始状态作为仿真时钟的零点, 仿真时钟每步进一次,就对系统的所有实体、属 性和活动进行一次前面的扫描考察,按照预定的 计划和目标进行分析、计算和记录系统状态的变 化,这个过程一直进行到仿真时钟结束为止。此 即为时间步长仿真法。
5) 系统类型
按状态是否随时间连续变化分
连续型系统
离散型系统
系统S={ 时间基;输入集;内部状态集;状态转移 函数;输出集;输出函数 } 时间基是描述系统变化的时间坐标;
1.2 模型 模型——实际系统本质的抽象与简化 模型 物理模型—采用一定的比例按真实系统的“样子”制 物理模型 “ ” 作 数学模型—用数学表达式形式来描述系统的内在规律 数学模型 系统模型水平—模型描述的详细程度 系统模型水平
二. 为什么要进行计算机仿真 1)在一个实际系统还没有建立起来之前,要对系统 1)在一个实际系统还没有建立起来之前,要对系统 的行为或结果进行分析研究时,计算机仿真是一 种行之有效的方法。 2)在有些真实系统上做实验会影响系统的正常运行, 2)在有些真实系统上做实验会影响系统的正常运行, 如在生产中任意改变工艺参数可能会导致废品, 在经济活动中随意将一个决策付诸行动可能会引 起经济混乱。 3)当人是系统的一部分时,他的行为往往会影响实 3)当人是系统的一部分时,他的行为往往会影响实 验的效果,这时最好对系统进行仿真研究。
1. 系统仿真概论
1.1 系统 1) 系统 一些具有特定的功能、相互之间以一定的规律联 系的对象所组成的总体。 2) 系统边界 每个系统都存在于一定的环境中, 每个系统都存在于一定的环境中, 系统与环境之 间的分界称为边界. 间的分界称为边界. 边界确定了系统的范围,边界以外对系统的 作用称为系统的输入,系统对边界以外环境的作 作用称为系统的输入,系统对边界以外环境的作 用称为系统的输出. 用称为系统的输出.
结束
3) 运行与改进 在这个问题中,系统的状态随时间连续变化, 系统离散化后,仿真结果与离散化的时间间隔 即仿真时钟步长有关,显然步长越小,结果越 精确。但步长越小,计算量越大。 本例中可取 △t = 5 min △t = 1 min △t = 0.1 min 等进行计算,并与解析结果比较。
4) 设计格式,输出仿真结果 △t = 1 min的结果 min的结果
2.4 实例分析 例1 池水含盐问题
6 m3/分钟 0.5kg/ m3
要使池中盐水的浓 度达到0.2kg/ 度达到0.2kg/ m3, 需经过多长时间? 1 )系统分析 )系统分析 实体:盐水 属性:体积,含盐量,含盐率 活动:注入,流出
水:2000 m3 盐: 2 kg 4 m3/分钟
在这个问题中,系统的状态随时间连续变化, 要对这样一个连续系统进行仿真,必需在一系 列离散时间点上进行考察,一般取等间隔时间 点,设间隔为△t 点,设间隔为△t (即仿真时钟步长)。 取T=0作为系统仿真的初始时刻,当池水中盐 T=0作为系统仿真的初始时刻,当池水中盐 的浓度达到0.2kg/m 的浓度达到0.2kg/m3时仿真结束。
2.2 流程图
初始化
时间步进1 时间步进
考察实体或活动
发生事件或变化
否 是
处理事件子程序
仿真结束
更新状态数据
输出结果 是
否
仿真是否完毕
2.3 时钟步长法特点 1) 仿真时钟以等步长前进; 2) 在一个步长内,认为系统的状态不变; 3) 时钟每步进一次,就要对系统进行一次 全面的考察,即使状态无变化也要扫描。
②分析系统的状态更新规则 系统的状态用 VT, ST,SR 表示 VT, ST, 当前时刻t 当前时刻t 水的体积 VT 水的含盐量 ST 水的含盐率 SR 下一时刻 t + △t 水的体积: 水的体积: VT + 6 △t 水的含盐量: 水的含盐量: ST + 3 - 4× SR × △t 水的含盐率 :水的含盐量/水的体积 水的含盐量/
4)在实际系统上做实验时,很难保证每次操作的 4)在实际系统上做实验时,很难保证每次操作的 条件相同,因而对实验结果的好坏很难作出正确 的判断。 5)在实际系统上做实验可能会花费很长的时间, 5)在实际系统上做实验可能会花费很长的时间, 费用太高或者有危险,使得实验不易进行。 6)有些系统一旦建立起来之后就无法复原。例如 6)有些系统一旦建立起来之后就无法复原。例如 要投资建立一个大型企业,要分析它建成之后的 经济效益和社会效益,不能用建立起来试试看的 办法,因为建成后就无法回到原来的状态了。
思考
写出MATLAB程序。分别设置 写出MATLAB程序。分别设置 △t = 5 min ,△t = 1 min,△t = 0.1 min ,△t min,△t 比较仿真结果。
练习 追击问题的计算机模拟
如图,正方形ABCD的四 如图,正方形ABCD的四 个顶点各有一个人,在某 一时刻,四人同时出发以 匀速v 匀速v走向顺时针的下一 个人,如果他们的方向始 终保持对准目标,则最终 将按螺旋状曲线汇合于中 心点A 心点A, 1) 求出每个人的轨迹; 2) 若四个人的速度不全相 等,结果如何? A B
计算机仿真 在研究系统过程中,根据相似原理,利用计算机来 逼真模仿研究对象。研究对象可以是真实的系统, 也可以是设想中的系统。 计算机仿真是将研究对象进行数学描述,建模编程, 且在计算机中运行实现.它不怕破坏、易修改、可 重用。 计算机仿真可以用于研制产品或设计系统的全过程 中,包括方案论证、技术指标确定、设计分析、生 产制造、试验测试、维护训练、故障处理等各个阶 段。 仿真算法 仿真算法是将系统模型转换成仿真模型 的一类算法,在数字仿真模型中起核心和关键作用。