计算机模拟 matlab,MATLAB计算机模拟实例课件.ppt

* 数学建模与数学实验 后勤工程学院数学教研室 计算机模拟 实验目的 实验内容 学习计算机模拟的基本过程与方法。 1、模拟的概念。 4、实验作业。 3、计算机模拟实例。 2、产生随机数的计算机命令。 连续系统模拟实例: 追逐问题 离散系统模拟实例: 排队问题 用蒙特卡洛法解非线性规划问题 返回 计算机模拟实例 模拟的概念 模拟就是利用物理的、数学的模型来类比、模仿现实系统及其演变过程,以寻求过程规律的一种方法。 模拟的基本思想是建立一个试验模型,这个模型包含所研究系统的主要特点.通过对这个实验模型的运行,获得所要研究系统的必要信息 模拟的方法 1、物理模拟: 对实际系统及其过程用功能相似的实物系统去模仿。 例如,军事演习、船艇实验、沙盘作业等。 物理模拟通常花费较大、周期较长,且在物理模型上改变系统结构和系数都较困难。而且,许多系统无法进行物理模拟,如社会经济系统、生态系统等。 在实际问题中,面对一些带随机因素的复杂系统,用分析方法建模常常需要作许多简化假设,与面临的实际问题可能相差甚远,以致解答根本无法应用。这时,计算机模拟几乎成为唯一的选择。 在一定的假设条件下,运用数学运算模拟系统的运行,称为数学模拟。现代的数学模拟都是在计算机上进行的,称为计算机模拟。 2、数学模拟 计算机模拟可以反复进行,改变系统的结构和系数都比较容易。 蒙特卡洛(Monte Carlo)方法是一种应用随机数来进行计算机模拟的方法.此方法对研究的系统进行随机观察抽样,通过对样本值的观察统计,求得所研究系统的某些参数. 例1 在我方某前沿防守地域,敌人以一个炮排(含两门火炮)为单位对我方进行干扰和破坏.为躲避我方打击,敌方对其阵地进行了伪装并经常变换射击地点. 经过长期观察发现,我方指挥所对敌方目标的指示有50%是准确的,而我方火力单位,在指示正确时,有1/3的射击效果能毁伤敌人一门火炮,有1/6的射击效果能全部消灭敌人. 现在希望能用某种方式把我方将要对敌人实施的20次打击结果显现出来,确定有效射击的比率及毁伤敌方火炮的平均值。 分析: 这是一个概率问题,可以通过理论计算得到相应的概率和期望值.但这样只能给出作战行动的最终静态结果,而显示不出作战行动的动态过程. 为了能显示我方20次射击的过程,现采用模拟的方式。 需要模拟出以下两件事: 1. 问题分析 [2] 当指示正确时,我方火力单位的射击结果情况 [1] 观察所对目标的指示正确与否 模拟试验有两种结果,每一种结果出现的概率都是1/2. 因此,可用投掷一枚硬币的方式予以确定,当硬币出现正面时为指示正确,反之为不正确. 模拟试验有三种结果:毁伤一门火炮的可能性为1/3(即2/6),毁伤两门的可能性为1/6,没能毁伤敌火炮的可能性为1/2(即3/6). 这时可用投掷骰子的方法来确定: 如果出现的是1、2、3三个点:则认为没能击中敌人; 如果出现的是4、5点:则认为毁伤敌人一门火炮; 若出现的是6点:则认为毁伤敌人两门火炮. 2. 符号假设 i:要模拟的打击次数; k1:没击中敌人火炮的射击总数; k2:击中敌人一门火炮的射击总数;k3:击中敌人两门火炮的射击总数. E:有效射击比率; E1:20次射击平均每次毁伤敌人的火炮数. 3. 模拟框图 初始化:i=0,k1=0,k2=0,k3=0 i=i+1 骰子点数? k1=k1+1 k2=k2+1 k3=k3+1 k1=k1+1 i<20? E=(k2+k3)/20 E1=0*k1/20+1*k2/20+2*k3/20 停止 硬币正面? Y N N Y 1,2,3 4,5 6 4. 模拟结果 5. 理论计算 6. 结果比较 返回 虽然模拟结果与理论计算不完全一致,但它却能更加真实地表达实际战斗动态过程. 用蒙特卡洛方法进行计算机模拟的步骤: [1] 设计一个逻辑框图,即模拟模型.这个框图要正确反映系统各部分运行时的逻辑关系。 [2] 模拟随机现象.可通过具有各种概率分布的模拟随机数来模拟随机现象. 产生模拟随机数的计算机命令 在Matlab软件中,可以直接产生满足各种分布的随机数,命令如下: 2.产生m?n阶[0,1]均匀分布的随机数矩阵:rand (m, n) 产生一个[0,1]均匀分布的随机数:rand 1.产生m?n阶[a,b]均匀分布U(a,b)的随机数矩阵: unifrnd (a,b,m, n) 产生一个[a,b]均匀分布的随机数:unifrnd (a,

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值