计算机模拟(计算机仿真)

上传人:无*** 文档编号:205232243 上传时间:2023-04-28 格式:PDF 页数:12 大小:1.85MB
收藏 版权申诉 举报 下载
计算机模拟(计算机仿真)_第1页
第1页 / 共12页
计算机模拟(计算机仿真)_第2页
第2页 / 共12页
计算机模拟(计算机仿真)_第3页
第3页 / 共12页
资源描述:

《计算机模拟(计算机仿真)》由会员分享,可在线阅读,更多相关《计算机模拟(计算机仿真)(12页珍藏版)》请在装配图网上搜索。

1、计 算 机 模 拟(计算机仿真)一、定义在一定的假设条件下,运用数学计算模拟系统的运行,称为数学模拟。现代的数学模拟都是在计算机上进行的,故又称为计算机模拟.二、基本步骤一 一 一形成数学模型,找出组成部件,并描述有关变量或参数;确定变量之间的函数关系程序验证,检验程序与数学模型之间的一致性,以及输入量的合理性进行模拟试验,对给定的输入在计算机上执行程序数据分析,收集和整理试验结果并作出解释检验由模型所得的结果与真实系统的性能数据的一致性程度两点说明:1.由于系统本身是随时间变化的,或者具有随机性,对真实系统数据和模型试验结果的比较常常需要采用时间序列分析方法或统计分析的方法1.1 时间序列分

2、析方法1)定义:利用按时间顺序排列的一组数字序列,应用数理统计方法加以处理,以预测未来事物的发展的方法叫时间序列分析方法2)基本原理:应用过去数据,就能推测事物的发展趋势;考虑到事物发展的随机性,利用统计分析中加权平均法对历史数据进行处理。1.2 统计分析1)定义:统计分析常指对收集到的有关数据资料进行整理归类并进行解释的过程。是统计工作中统计设计、资料收集、整理汇总、统计分析、信息反馈五个阶段最关键的一步。2)统计分析的步骤:收集数据;整理数据;分 析 数 据(先用描述统计的方法计算出反映数据集中趋势、离散程度和相关强度的具有外在代表性的指标;再用推断统计的方法对数据进行处理,以样本信息推断

3、总体情况,并分析和推测总体的特征和规律。2.按功能将统计分析方法分为描述统计和推断统计。2.1 描述统计:将研究中所得的数据加以整理、归类、简化或绘制成图表,以此描述和归纳数据的特征及变量之间的关系的一种最基本的统计方法。描述统计主要涉及数据的集中趋势、离散程度和相关强度,最常用的指标有平均数、标准差(a x)、相关系数(r)等;2.2 推断统计:指用概率形式来决断数据之间是否存在某种关系及用样本统计值来推测总体特征的一种重要的统计方法。推断统计包括总体参数估计假设检验,最常用的方法有Z检验、T检验、卡方检验等。三、模拟语言模拟语言一般是在别的通用编程语言的基础上建立的,它需要自己的编译程序进

4、行预编译,把模拟语言程序转换成通用编程语言程序,再经过一次编译,转换成计算机上可执行程序。计算机模拟语言是一种高级的描述系统模型的编程语言,它提供表示系统模型中许多基本单元、部件和调度操作的模块。用户用它可较方便地确定模型的基本结构,只要再添加一些辅助的程序就可编出模拟程序。模拟语言可分为离散事件模拟语言(如GPSS及其各种改型、SIMSCRIPT.GASD、CSL、SIMULA等)和连续系统模拟语言(如DARE、ACSL、CSS、CSSL等)两大类型。四、基本方法:蒙 特 卡 洛(Monte Carlo)方法1.蒙 特 卡 洛(Monte Carlo)方法的定义:是一种应用随机数来进行计算机

5、模拟的方法。此方法对研究的系统进行随机观察抽样,通过对样本值的观察统计,求得所研究系统的某些参数。2.用蒙特卡洛方法进行计算机模拟的步骤:设计一个能正确反映系统各部分运行时的逻辑关系的逻辑框图,即模拟模型通过具有各种概率分布的模拟随机数来模拟随机现象模拟随机数:在MATLAB软件中,可以直接产生满足各种分布的随机数的计算机命令,命令分别如下:1)产 生m x n阶 ab均 匀 分 布U(a,b)的 随 机 数 矩 阵:unifrnd(a,b,m,n)产 生 一 个 a,b均 匀 分 布 的 随 机 数:unifmd(a,b)当只知道一个随机变量取值在(a,b)内,但不知道(也没理由假设)它在何

6、处取值的概率大,在何处取值的概率小,就只好用U(a,b)来模拟它。2)产 生m x n阶 0,1均匀分布的随机数矩阵:rand(m,n)产 生 一 个 0,1均 匀 分 布 的 随 机 数:rand3)产 生m*n阶 均 值 为 ,方 差 为cr的正态分布的随机数矩阵:normrnd(,cr,m,n)产 生 一个 均 值 为 从,方 差 为 b的 正 态 分 布 的 随 机 数:normrnd(,cr)当研究对象视为大量相互独立的随机变量之和,且其中每一种变量对总和的影响都很小时,可以认为该对象服从正态分布。机械加工得到的零件尺寸的偏差、射击命中点与目标的偏差、各种测量误差、人的身高、体重等,

7、都可近似看成服从正态分布。4)产 生m x n阶 期 望 值 为M的 指 数 分 布 的 随 机 数 矩 阵:exprnd(,m,n)若 连 续 型 随 机 变 量X的概率密度函数为,,、工 e x 0,/(%)=0 x 0其中几0为 常 数,则 称X服 从 参 数 为4的 指 数 分 布。指 数 分 布 的 期 望 值 为%。在MATLAB中,产 生 参 数 为;I的 指 数 分 布 的 命 令 为e x p rn d()。A指数分布在排队论、可靠性分析中有广泛应用,排队服务系统中顾客到达率为常数时的到达间隔、故障率为常数时零件的寿命都服从指数分布。5)产 生m x n阶 参 数 为X的 泊

8、 松 分 布 的 随 机 数 矩 阵:poissmd(2,m,n)设 离 散 型 随 机 变 量X的 所 有 可 能 取 值 为0,1,2,,且取各个值的概率为/CkeAP(X=k)=,k=0,1,2,k其 中/l0为 常 数,则 称X服 从 参 数 为X的泊松分 布。帕 松 分 布 的 期 望 值 为X。泊松分布在排队系统、产品检验、天文、物理等领域有广泛应用。指 数 分 布 与 泊 松 分 布 的 关 系:若 相 继 两 个 事 件 出 现 的 间 隔 时 间 服 从 参 数 为 的指 数 分 布,则 在 单 位 时 间 间 隔 内 事 件 出 现 的 次 数 服 从 参 数 为X的 泊

9、松 分 布.即 单 位时 间 内 该 事 件 出 现k次 的 概 率 为P(X=A)=%J =0,l,2,反 之 亦 然。k敏.顾 客 到 达 某 商 店 的 间 隔 时 间 服 从 参 数 为0.1的指数分布:指两个顾客到达商店 的 平 均 间 隔 时 间 是10个 单 位 时 间,即 平 均10个 单 位 时 间 到 达1个 顾 客,则指数 分 布 的 均 值 为1/0.1=10,顾 客 到 达 的 间 隔 时 间 可 用expmd(10)模拟该 商 店 在 单 位 时 间 内 到 达 的 顾 客 数 服 从 参 数 为0.1的 帕 松 分 布:指一个单位时间内平均到达0.1个顾客,即平均

10、10个单位时间到达一个顾客。例2.敌坦克分队对我方阵地实施突袭,其到达规律服从泊松分布,平均每分钟到达4辆.(1)模拟敌坦克在3分钟内到达目标区的数量,以及在第1、2、3分钟内各到达几辆坦克;(2)模拟在3分钟内每辆敌坦克的到达时刻。(1)用poissmd(4)进行模拟;(2)坦克到达的间隔时间应服从参数为4的负指数分布,用exprnd(1/4)模拟3.通常蒙特卡罗方法可以粗略地分成两类一类是所求解的问题本身具有内在的随机性,借助计算机的运算能力可以直接模拟这种随机的过程。例如在核物理研究中,分析中子在反应堆中的传输过程:中子与原子核作用受到量子力学规律的制约,人们只能知道它们相互作用发生的概

11、率,却无法准确获得中子与原子核作用时的位置以及裂变产生的新中子的行进速率和方向,科学家依据其概率进行随机抽样得到裂变位置、速度和方向,这样模拟大量中子的行为后,经过统计就能获得中子传输的范围,作为反应堆设计的依据;另一种类型是所求解问题可以转化为某种随机分布的特征数,比如随机事件出现的概率,或者随机变量的期望值。通过随机抽样的方法,以随机事件出现的频率估计其概率,或者以抽样的数字特征估算随机变量的数字特征,并将其作为问题的解。这种方法多用于求解复杂的多维积分问题。4.在解决实际问题的时候应用蒙特卡罗方法主要有两部分工作首先需要产生各种概率分布的随机变量;再用统计方法把模型的数字特征估计出来,从

12、而得到实际问题的数值解。5.用蒙特卡洛方法进行计算机模拟的实例例3 在我方某前沿防守地域,敌人以一个炮排(含两门火炮)为单位对我方进行干扰和破坏。为躲避我方打击,敌方对其阵地进行了伪装并经常变换设计地点经过长期观察发现,我方指挥所对敌方目标的指示有50%是准确的,而我方火力单位,在指示正确时,有1/3的射击效果能毁伤敌人一门火炮,有1/6的射击效果能全部消灭敌人。现在希望能用某种方式把我方将要对敌人实施的20次打进结果显现出来,确定有效射击的比率及毁伤敌方火炮的平均值。分析:这是一个概率问题,可以通过理论计算得到相应的概率和期望值。但这样只能给出作战行动的最终静态结果,而显示不出作战行动的动态

13、过程。为了能显示我方20次射击的过程,现采用模拟的方式问题分析需要模拟出以下两件事1)观察所对目标的指示正确与否模拟实验有两种结果,每一种结果出现的概率都是1/2.因此,可用投掷一枚硬币的方式予以确定,当硬币出现正面指示正确,反之不正确。2)当指示正确时,我方火力单位的射击结果情况模拟实验有三种结果:毁伤一门火炮的可能性是1/3(即 2/6),毁伤两门的可能性是1/6,没能毁伤火炮的可能性是1/2(即3/6)。这时可以用投掷骰子的方法来确定:如果出现的是1、2、3 这三个点:则认为没能击中敌人;如果出现的是4、5 点:则认为毁伤敌人一门火炮;如果出现的是6 点:则认为毁伤敌人两门火炮。符号假设

14、_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _i 要模拟的打击次数kl 没击中敌人火炮的射击总数k2 击中敌人一门火炮的设计总数k3 击中敌人两门火炮的射击总数E 有效射击比率E120次射击平均每次毁伤敌人的火炮数模拟框图模拟结果试验序号投硬币结 果指示正确指示不正掷骰子结消灭敌人火炮数确果0121正V4V2正V4V3反VV4正V1V5正V2V6反VV7正V3V8正V6V9反VV10反VV11正V2V12反VV13正V3V1

15、4反VV15正V6V16正V4V17正V2V18正V4V19反VV20正V6V1 3 4 3从以上模拟结果可以算出:E=7/2 0=0.3 5 ,E l=O x +l x +2 x =0.5.2 0 2 0 2 0理论计算假设1)j=0 x2 0在MATLAB软件包中编程,共需三个M 一文件:randlp.m,mmylp.m,lpconst.主程序为randlp.m%mylp.mfunction z=mylp(x)%目标函数z=2*x(1 )A2+x(2)A2-x(1 )*x(2)-8*x(1 )-3*x(2);%转化为求最小值问题%lpconst.mfunction lpc=lpconst(

16、x)%约 束条件if 3*x(l)+x(2)-10=0.5%约 束条件lpc=l;elselpc=0end%randlp.mfunction sol,r 1 ,r2J=randlp(a,b,n)%随机模拟解非线性规划debug=l;a=0;b=10;%试验点下界和上界n=1000;%试验点个数r 1 =unifrnd(a,b,n,1);r2=unifrnd(a,b,n,1);%n&l 阶 的 a,b 均匀分布随机数矩阵sol=rl(l)r2(l);z0=inf;for i=l:nxl=rl(i);x2=r2(i);lpc=lpconst(xl x2);if lpc=lz=mylp(xl x2)

17、;if zz0z0=z;sol=xl x2;endendend五、模拟类型1.离散系统模拟1.1 离散时间模型的模拟离散时间模型中的时间表示为整数序列(代表某一时间单位的整数倍),只考虑系统在这些时刻上的状态变化。这种模型的一个典型模拟程序包括下列步骤:1)置 模拟时间T的初始值为to;2)置状态变量的初始值;3)给出当前模拟时间输入变量的值后,根据模型中的状态转移函数,确定在下一时刻T=t+h状态变量的值。再根据模型中的输出函数确定在该时刻输出变量的值;4)把模拟时间T推进一个单位时间h;5)检查模拟时间T是否达到预定终止时刻,若已达到即停止,否则转移到步骤3)o1.2 离散事件模型的模拟在

18、离散事件模型中,系统的状态改变只出现在离散的时刻,称为离散事件。以排队系统为例,建立这种模拟模型的基本步骤和方法是:1)确定系统中包含的所有有关的“实体”及其属性,系统状态改变的一切“事件”及其前因后果。实体是系统的组成部件,每个实体的属性由表示其性质的数值表示,构成系统的状态。在排队系统中最基本的实体是一定数量的“服务站”和要求服 务 的“顾 客”,它们的属性分别为“服务站”的“服务速率”和“顾客”的服务优先级、到达服务系统的时刻等。基本的“事件”包括:新实体进入系统或现有实体离开系统、实体属性发生变化、调度的时刻表变化等。2)确定模拟时间推移的方法。如果把时间按等间隔划分,顺序考察在这些时

19、刻系统是否出现事件,称为固定时距方法;如果时间每次推移的长度以下一次事件发生的时刻为依据,称为可变时距方法或“下一事件”方法。3)由于系统中事件的出现常具有随机性,服从一定的概率分布,因而在计算机上需要产生这些分布的随机数。4)为了灵活有效地记录系统的状态,进行事件的调度,积累有关性能数据并形成报表,保存和自动管理未来事件文件,在程序设计中采用数据库技术非常适宜。1.3 离散系统模拟实例一一排队问题排队论:排队论主要研究随机服务系统的工作过程。在排队系统中,服务对象的到达时间和服务时间都是随机的。排队论通过对每个个别的随机服务现象的统计研究,找出反映这些随机现象平均特性的规律,从而为设计新的服

20、务系统和改进现有服务系统的工作系统提供依据。对于排队服务系统,顾客通常注意排队的人是否太多,等候的时间是否过长,而对服务员则是关心他空闲的时间是否太短,于是人们常用排队的长度、等待的时间及服务利用率等指标来衡量系统的性能。单服务员的排队问题:例5.在某商店有一个售货员,顾客陆续来到,售货员逐个接待顾客。当到来的顾客较多时,一部分顾客便须排队等待,被接待的顾客便离开商店,设:1)顾客到来间隔时间服从参数为0.1的指数分布。2)对顾客的服务时间服从 4,15 上的均匀分布。3)排队按先到先服务规则,队长无限制假定一个工作日为8 小时,时间以分钟为单位。1)模拟一个工作日内完成服务的个数及顾客平均等

21、待时间t.2)模 拟 100个工作日,求出平均每日完成服务的个数及每日顾客的平均等待时间。系统假设1)顾客源是无穷的;2)排队的长度没有限制;3)到达系统的顾客按先后顺序依次进入服务,即“先到先服务”。符号说明_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _w 总等待时间Ci第 i 个顾客的到达时刻bi第 i 个顾客开始服务时刻ei第 i 个顾客服务结束时刻Xi第 i-1 个顾客与第i 个顾客之间到达的间隔时间yi对第i 个顾

22、客的服务时间ci=ci-l+xiei=bi+yibi=max(ci,ei-l)模拟框图2 .连续系统模拟状态随时间连续地发生变化的系统称为连续系统,状态变化的速率满足一定的微分方程。在计算机上建立对应的模拟模型,有赖于求解微分方程的有效的数值方法,并编制成标准子程序,以便能使用各种方程阶数、系数、初值条件或边值条件。对连续系统的计算机模拟只能是近似的,只要这种近似达到一定的精度,也就可以满足要求。对包含反馈和控制的系统的模拟是这种类型的典型例子。3 .连续系统模拟的实例一一追逐问题例6.如图,正方形A B C D 的四个顶点各有一人.在某一时刻,四人同时出发以匀速v=l 米/秒按顺时针方向追逐

23、下一人,如果他们始终保持对准目标,则最终按螺旋状曲线于中心点0.试求出这种情况下每个人的行进轨迹.求解过程(1)建立平面直角坐标系:A(x l,y l),B(x 2,y 2),C(x 3,y 3),D(x 4,y 4).(2)取时间间隔为A t,计算每一点在各个时刻的坐标.设某点在t 时刻的坐标为:(X j )则在 t+A t 时刻的坐标为:(X j+v A t c o s a j+v A t s i n a)其中cosa=二 七 sina=%d=-x,.)2+(y,.+l-y;)2a a(3)取足够小的,“0.1)x(5)=x(l);y(5)=y(l);f o r i=l:4d=s q r

24、t(x(i+l)-x(i)A2+(y(i+l)-y(i)A2);x(i)=x(i)+v*d t*(x(i+l)-x(i)/d;y(i)=y(i)4-v*d t*(y(i+l )-y(i)/d;p l o t(x(i),y(i),.*),h o l d o ne n de n d行进轨迹六、计算机模拟的优缺点在应用计算机模拟进行风险分析的问题上,最后应当指出:这种方法要求取得投资支出、单位销售量、产品价格、投入要素价格、资产使用期限等许多变量的概率分布,并需要支出相当多的程序设计费用与计算机运转费用。因此,全盘模拟一般并不适用(但如关于扩建大型工厂或生产新产品等规模大而花钱多的计划的决策除外)。在这些例外情况下,即企业要决定是否实行一项需要支出千百万美元的大规模计划时,计算机模拟有助于深入评比各个可供选择的方案的优缺点。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

相关资源

更多
正为您匹配相似的精品文档
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  sobing.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!