CADCAM09-计算机仿真_第1页
CADCAM09-计算机仿真_第2页
CADCAM09-计算机仿真_第3页
CADCAM09-计算机仿真_第4页
CADCAM09-计算机仿真_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机辅助工程分析之计算机仿真 CAD/CAM 利用计算机仿真技术,可以求解许多复杂而无法用数学手段利用计算机仿真技术,可以求解许多复杂而无法用数学手段解析求解的问题;可以预演或再现系统的运动规律或运动过解析求解的问题;可以预演或再现系统的运动规律或运动过程;可以对无法直接进行实验的系统进行仿真试验研究,从程;可以对无法直接进行实验的系统进行仿真试验研究,从而节省大量的能源和费用。而节省大量的能源和费用。仿真可采用专用软件实现,现有的仿真软件包括仿真可采用专用软件实现,现有的仿真软件包括MATLABMATLAB、ADMASADMAS等。等。仿真的研究对象是具有独立行为规律的系统,相互联系又仿真

2、的研究对象是具有独立行为规律的系统,相互联系又相互作用的对象有机组合。相互作用的对象有机组合。对于一个系统来说,不论它是大还是小,都必然存在三个对于一个系统来说,不论它是大还是小,都必然存在三个要素,即实体、属性和活动。要素,即实体、属性和活动。系统模型是为了达到系统研究的目的,用于收集和描述系系统模型是为了达到系统研究的目的,用于收集和描述系统有关信息的实体,是对相应的真实对象和真实关系中那些统有关信息的实体,是对相应的真实对象和真实关系中那些有用特性的抽象,描述系统的某些本质方面,以各种形式提有用特性的抽象,描述系统的某些本质方面,以各种形式提供被研究系统的信息,具有整体性、相关性、层次性

3、、目的供被研究系统的信息,具有整体性、相关性、层次性、目的性及适应性等特性。性及适应性等特性。系统、模型与仿真三者之间有着十分密切的关系,系统是系统、模型与仿真三者之间有着十分密切的关系,系统是研究对象,模型是系统特性的描述,仿真则包含建立模型及研究对象,模型是系统特性的描述,仿真则包含建立模型及对模型进行试验两个过程。对模型进行试验两个过程。仿真具有掌握系统运作规律、快速实验与测试、动态展现仿真具有掌握系统运作规律、快速实验与测试、动态展现等优点,便于实现定性分析到定量改善。等优点,便于实现定性分析到定量改善。根据模型的物理属性分类根据模型的物理属性分类物理仿真:按照真实系统的物理性质构造系

4、统的物理模型,物理仿真:按照真实系统的物理性质构造系统的物理模型,并在物理模型上进行实验的过程称为物理仿真。物理仿真直并在物理模型上进行实验的过程称为物理仿真。物理仿真直观、形象,但模型改变困难、实验限制多、投资较大。观、形象,但模型改变困难、实验限制多、投资较大。数学仿真:对实际系统进行抽象,并将其特性用数学关系数学仿真:对实际系统进行抽象,并将其特性用数学关系加以描述而得到系统的数学模型,对数学模型进行实验的过加以描述而得到系统的数学模型,对数学模型进行实验的过程称为数学仿真。计算机技术的发展为数学仿真创造了环境。程称为数学仿真。计算机技术的发展为数学仿真创造了环境。计算机仿真(数学仿真)

5、方便、灵活、经济,但受限于系统计算机仿真(数学仿真)方便、灵活、经济,但受限于系统建模技术,数学模型不易建立。建模技术,数学模型不易建立。半实物仿真:即将数学模型与物理模型甚至实物联合起来半实物仿真:即将数学模型与物理模型甚至实物联合起来进行实验。进行实验。根据系统模型的特性分类根据系统模型的特性分类连续系统仿真连续系统仿真连续系统是指系统状态随时间连续变化的系统,分为:连续系统是指系统状态随时间连续变化的系统,分为:- -集中参数系统模型,一般用常微分方程(组)描述。集中参数系统模型,一般用常微分方程(组)描述。- -分布参数系统模型,一般用偏微分方程(组)描述。分布参数系统模型,一般用偏微

6、分方程(组)描述。离散事件系统仿真离散事件系统仿真离散事件系统是指在某些随机时间点上系统状态发生离散变离散事件系统是指在某些随机时间点上系统状态发生离散变化的系统。化的系统。问题描述与系统定义系统分析建立系统模型数据准备建立仿真模型验证、确认模型模型有效?计算机仿真运行分析仿真结果结果满意?实施仿真决策建立文档Y试验设计YNN例例 理发店的服务过程仿真理发店的服务过程仿真一个理发店有两位服务员一个理发店有两位服务员A A和和B B顾客随机地到达该理发店,每分顾客随机地到达该理发店,每分钟有一个顾客到达和没有顾客到达的概率均是钟有一个顾客到达和没有顾客到达的概率均是1/21/2,其中,其中60%

7、60%的的顾客理发仅用顾客理发仅用5 5分钟分钟, ,另外另外40%40%的顾客用的顾客用8 8分钟。试对前分钟。试对前1010分钟的分钟的情况进行仿真。情况进行仿真。解:假设开始无顾客,顾客到达、服务开始和结束都在解:假设开始无顾客,顾客到达、服务开始和结束都在每分钟开始时进行。每分钟开始时进行。 产生顾客:抛硬币,正面产生顾客:抛硬币,正面-有顾客到来;有顾客到来; 反面反面-无顾客到来无顾客到来 时间长短:摸球,时间长短:摸球, 3 3白白2 2黑,白球,黑,白球,5 5分钟,分钟, 黑球,黑球,8 8分钟。分钟。 仿真过程仿真过程: : 时间待排队等人数服务员A服务员B T=0 T=1

8、 T=2 T=3 T=4 T=5 T=6 T=7 T=8 T=9 T=10例例 射击命中率射击命中率 在我方某前沿防守地域,敌人以一个炮排(含两门火炮)在我方某前沿防守地域,敌人以一个炮排(含两门火炮)为单位对我方进行干扰和破坏为躲避我方打击,敌方对其阵为单位对我方进行干扰和破坏为躲避我方打击,敌方对其阵地进行了伪装并经常变换射击地点经过长期观察发现,我方地进行了伪装并经常变换射击地点经过长期观察发现,我方指挥所对敌方目标的指示有指挥所对敌方目标的指示有5050是准确的,而我方火力单位,是准确的,而我方火力单位,在指示正确时,有在指示正确时,有1/31/3的射击效果能毁伤敌人一门火炮,有的射击

9、效果能毁伤敌人一门火炮,有1/61/6的射击效果能全部两门火炮的射击效果能全部两门火炮 现在希望能用某种方式把我方将要对敌人实施的现在希望能用某种方式把我方将要对敌人实施的2020次打击次打击结果显现出来,确定有效射击的比率及毁伤敌方火炮的平均值。结果显现出来,确定有效射击的比率及毁伤敌方火炮的平均值。分析:分析: 这是一个概率问题,可以通过理论计算得到相应的概率这是一个概率问题,可以通过理论计算得到相应的概率和期望值和期望值. .但这样只能给出作战行动的最终静态结果,而显示但这样只能给出作战行动的最终静态结果,而显示不出作战行动的动态过程不出作战行动的动态过程. . 为了能显示我方为了能显示

10、我方2020次射击的过程,现采用模拟的方式。次射击的过程,现采用模拟的方式。1.1. 问题分析问题分析 需要模拟出以下两件事:需要模拟出以下两件事:(1)(1)观察所对目标的指示正确与否观察所对目标的指示正确与否 模拟试验有两种结果,每一种结果出现的概率都是模拟试验有两种结果,每一种结果出现的概率都是1/21/2。 因此,可以用投掷一枚硬币的方式予以确定,当硬币出现因此,可以用投掷一枚硬币的方式予以确定,当硬币出现正面时为指示正确,反之为不正确。正面时为指示正确,反之为不正确。(2)(2)当指示正确时,我方火力的射击结果当指示正确时,我方火力的射击结果模拟试验有三种结果:模拟试验有三种结果:毁

11、伤一门火炮的可能性为毁伤一门火炮的可能性为1/3(1/3(即即2/6)2/6),毁伤两门的可能性为毁伤两门的可能性为1/61/6,没能毁伤敌火炮的可能性为没能毁伤敌火炮的可能性为1/2(1/2(即即3/6)3/6)这时可用投掷骰子的方法来确定:这时可用投掷骰子的方法来确定:出现、点:则认为没击中敌人;出现、点:则认为没击中敌人;出现、点:出现、点: 则认为击毁敌人一门火炮;则认为击毁敌人一门火炮;出现点:出现点: 则认为击毁敌人两门火炮则认为击毁敌人两门火炮2. 2. 符号假设符号假设i i:要模拟的打击次数;:要模拟的打击次数;k1k1:没击中敌人火炮的射击总数;:没击中敌人火炮的射击总数;

12、 k2k2:击中敌人一门火炮的射击总数;:击中敌人一门火炮的射击总数;k3k3:击中敌人两门火炮的射击总数:击中敌人两门火炮的射击总数E E:有效射击比率;:有效射击比率; E1E1:2020次射击平均每次毁伤敌人的火炮数次射击平均每次毁伤敌人的火炮数初始化:i=0,k1=0,k2=0,k3=0i=i+1骰子点数?k1=k1+1k2=k2+1k3=k3+1k1=k1+1i20?E=(k2+k3)/20 E1=0*k1/20+1*k2/20+2*k3/20停止硬币正面?YNNY1,2,34,563. 3. 模拟框图模拟框图4. 4. 模拟结果模拟结果消消灭灭敌敌人人火火炮炮数数 试试验验 序序号

13、号 投投硬硬币币 结结 果果 指指示示 正正确确 指指 示示 不不正正确确 掷掷骰骰子子 结结 果果 正 正 反 正 正 反 正 正 反 反 消消灭灭敌敌人人火火炮炮数数 试试验验 序序号号 投投硬硬币币 结结 果果 指指示示 正正确确 指指 示示 不不正正确确 掷掷骰骰子子 结结 果果 正 反 正 反 正 正 正 正 反 正 5. 5. 理论计算理论计算 设:设:j=0 j=0 观察所目标指示不准确;观察所目标指示不准确;j=1 j=1 观察所目标指示准观察所目标指示准确;确;A0A0:射中敌方火炮的事件;:射中敌方火炮的事件;A1A1:射中敌方一门火炮的:射中敌方一门火炮的事件;事件;A2

14、A2:射中敌方两门火炮的事件:射中敌方两门火炮的事件 E = P(A0) = P(j=0)P(A0j=0) + E = P(A0) = P(j=0)P(A0j=0) + P(jP(j=1)P(A0j=1)=0.5=1)P(A0j=1)=0.5* *0+0.50+0.5* *0.5=0.250.5=0.25 P(A1) = P(j=0)P(A1j=0) + P(A1) = P(j=0)P(A1j=0) + P(jP(j=1)P(A1j=1)=0.5=1)P(A1j=1)=0.5* *0+0.50+0.5* *0.33=0.1650.33=0.165 P(A2) = P(j=0)P(A2j=0)

15、+ P(A2) = P(j=0)P(A2j=0) + P(jP(j=1)P(A2j=1)=0.5=1)P(A2j=1)=0.5* *0+0.50+0.5* *0.165=0.08250.165=0.0825 E1 = 1E1 = 1* *0.165+20.165+2* *0.0825=0.330.0825=0.336. 6. 结果比较结果比较模拟结果与理论计算结果不完全一致,反映了事件发生的模拟结果与理论计算结果不完全一致,反映了事件发生的随机性。只要多次实验求平均值,模拟值就会很接近理论随机性。只要多次实验求平均值,模拟值就会很接近理论值。值。 计算机仿真就是采用计算机对数学模型进行虚拟物理

16、仿真。计算机仿真就是采用计算机对数学模型进行虚拟物理仿真。计算机仿真的步骤一般为:计算机仿真的步骤一般为:系统定义系统定义 - - 建立数学模型建立数学模型 - - 采集数据采集数据 编制仿真程序编制仿真程序 计算机仿真计算机仿真 结果分析结果分析 输出仿真结果输出仿真结果计算机仿真语言主要包括基于过程、基于活动、基于事件计算机仿真语言主要包括基于过程、基于活动、基于事件等三类。等三类。注:注:事件事件在某一时间点上引起系统状态发生变化的瞬间行为在某一时间点上引起系统状态发生变化的瞬间行为活动活动实体在两个事件之间保持某一状态的持续过程实体在两个事件之间保持某一状态的持续过程 对随机现象进行模

17、拟,实质上是要给出随机变量对随机现象进行模拟,实质上是要给出随机变量的模拟,就是利用计算机随机地产生一系列数值,的模拟,就是利用计算机随机地产生一系列数值,这些数值的出现服从一定的概率分布,则称这些这些数值的出现服从一定的概率分布,则称这些数值为随机数。数值为随机数。 最常用的是在最常用的是在(0,1)(0,1)区间内均匀分布的随机数,也区间内均匀分布的随机数,也就是就是(0,l)(0,l)区间内均匀分布的随机变量的一组独立区间内均匀分布的随机变量的一组独立的样本值。的样本值。 其它分布的随机数可利用均匀分布的随机数产生。其它分布的随机数可利用均匀分布的随机数产生。 均匀随机数是产生其它随机数

18、的基础。例如,抛均匀随机数是产生其它随机数的基础。例如,抛硬币、抽签、统计经验分布都可以由它产生。硬币、抽签、统计经验分布都可以由它产生。随机数的产生方法随机数的产生方法 随机数表随机数表 19271927年年,4,4万随机数表万随机数表, ,以后有以后有100100万随机数表万随机数表(可以输入内存,随时调用);(可以输入内存,随时调用); 硬件设备硬件设备 从真实物理现象的随机因素中产生随机数,放射从真实物理现象的随机因素中产生随机数,放射性粒子的放射源,电子晶体管的固有噪音等,单性粒子的放射源,电子晶体管的固有噪音等,单位时间内放射出的粒子数是随机的。这是真正的位时间内放射出的粒子数是随

19、机的。这是真正的随机数,但需要一定的外部设备,很难操作及重随机数,但需要一定的外部设备,很难操作及重复。复。随机数的产生方法随机数的产生方法 利用数学公式产生伪随机数利用数学公式产生伪随机数 用数学公式或位移寄存器的移位操作来产生的随用数学公式或位移寄存器的移位操作来产生的随机数。产生理想的伪随机数列不容易,一般有如机数。产生理想的伪随机数列不容易,一般有如下要求下要求: :1) 1) 要求伪随机数列有较理想的随机性和均匀性;要求伪随机数列有较理想的随机性和均匀性;2) 2) 产生伪随机数的程序应当简短、运算速度快产生伪随机数的程序应当简短、运算速度快, ,占占用计算机的内存单元少;用计算机的

20、内存单元少;3) 3) 伪随机数列的循环周期应当尽可能地大,以满足伪随机数列的循环周期应当尽可能地大,以满足模拟的需要;模拟的需要;4) 4) 伪随机数列中伪随机数列中, ,前后之间和各子列之间前后之间和各子列之间, ,要求相要求相互是独立无关的。互是独立无关的。 运用某种算法产生随机数可能会破坏随机的基本运用某种算法产生随机数可能会破坏随机的基本性质,因此利用算法所产生的随机数被称为伪随性质,因此利用算法所产生的随机数被称为伪随机数机数PRNPRN(Pseudo Random NumberPseudo Random Number)。)。 伪随机数满足一定的随机性准则,但它们的产生伪随机数满足

21、一定的随机性准则,但它们的产生总是以某个称之为总是以某个称之为“种子种子”的确定初始值开始,的确定初始值开始,并且是一个并且是一个100%100%确定的、重复的过程。确定的、重复的过程。 著名的平方取中法是冯著名的平方取中法是冯纽曼在纽曼在4040年代中期提出年代中期提出的。首先从某个初始的种子数开始,求出平方值。的。首先从某个初始的种子数开始,求出平方值。取该平方数的中间几位作为随机数序列中的第取该平方数的中间几位作为随机数序列中的第2 2个个数,再求平方,又取新平方数的中间几位作为随数,再求平方,又取新平方数的中间几位作为随机数序列中的第机数序列中的第3 3个数,以此类推得到相应的伪随个数

22、,以此类推得到相应的伪随机序列。机序列。例例 利用利用“平方取中法平方取中法”产生产生4 4位数的随机数序列,位数的随机数序列,序列的种子数取为序列的种子数取为x x0 0= 3187= 3187。 。出发时刻(出发时刻(T T) 1 1:00001 1:05051 1:1010频率频率0.70.70.20.20.10.1赶火车过程仿真赶火车过程仿真一列火车从一列火车从A A站经过站经过B B站开往站开往C C站,某人每天赶往站,某人每天赶往B B站乘这趟火车。已知火车从站乘这趟火车。已知火车从A A站到站到B B站运行时间为站运行时间为均值均值3030分钟、标准差为分钟、标准差为2 2分钟的

23、正态随机变量分钟的正态随机变量. .火火车大约在下午车大约在下午1 1点离开点离开A A站。离开时刻的频率分布站。离开时刻的频率分布为为用计算机仿真火车开出、火车到达用计算机仿真火车开出、火车到达B B站、这个人到站、这个人到达达B B站情况,并给出能赶上火车的仿真结果。站情况,并给出能赶上火车的仿真结果。 引入以下变量:引入以下变量: T1 T1 火车从火车从A A站开出的时刻;站开出的时刻; T2 T2 火车从火车从A A站运行到站运行到B B站所需要的时间;站所需要的时间; T3 T3 此人到达此人到达B B站的时刻;站的时刻; 0.10.10.20.20.70.7P P(频率)(频率)

24、10105 50 0T1(T1(分分) )这个人到达这个人到达B B站时的频率分布为:站时的频率分布为:0.10.10.20.20.40.40.30.3频率频率1 1:34341 1:32:321 1:30:301 1:28:28到达时刻(到达时刻(T T)T1, T2, T3 T1, T2, T3 是随机变量,其概率分布为是随机变量,其概率分布为 x=0.7, x2=0.9, y1=0.3, y2=0.7, y3=0.9, x=0.7, x2=0.9, y1=0.3, y2=0.7, y3=0.9,开车时间的仿真测试开车时间的仿真测试 s1=0; s2=0; s3=0; s1=0; s2=0

25、; s3=0; x=rand(10000,1); x=rand(10000,1); for i=1:10000 for i=1:10000 if x(i)0.7 if x(i)0.9 if x(i)0.9 s3=s3+1; s3=s3+1; end end end ends1/10000, 1-s1/10000-s3/10000,s3/10000s1/10000, 1-s1/10000-s3/10000,s3/10000T2T2(分)(分) 28 28 30 30 32 32 34 34P( P( 频率频率) ) 0.30.3 0.40.4 0.20.2 0.10.1 s1=0; s2=0;

26、s3=0;s4=0; x=rand(10000,1); for i=1:10000 if x(i)0.3 s1=s1+1; elseif x(i)0.7 s2=s2+1; else if x(i)0.9 s3=s3+1; else s4=s4+1; end endends1/10000, s2/10000,s3/10000,s4/10000人到达时刻仿真测试人到达时刻仿真测试火车运行时间的仿真测试火车运行时间的仿真测试x=randn(10000,1);for i=1:10000 y(i)=30+2*x(i);end赶上火车的仿真结果赶上火车的仿真结果s=0;x1=rand(10000,1);x

27、2=rand(10000,1);x3=randn(10000,1);for i=1:10000if x1(i)0.7T1=0;elseif x1(i)0.9T1=5; else T1=10; endT2=30+2*x3(i);if x2(i)0.3 T3=28;elseif x2(i)0.7 T3=30; else if x2(i)0.9 T3=32; else T3=34; endendif T3T1+T2 s=s+1;endends/10000报童每天清晨从报社购进报纸零售,晚上将没有卖掉的报纸报童每天清晨从报社购进报纸零售,晚上将没有卖掉的报纸退回。每份报纸的购进价为退回。每份报纸的购进

28、价为1.31.3元,零售价为元,零售价为2 2元,退回价为元,退回价为0.20.2元。报童售出一份报纸赚元。报童售出一份报纸赚0.70.7元,退回一份报纸赔元,退回一份报纸赔1.11.1元。元。报童每天如果购进的报纸太少,不够卖时会少赚钱,如果购报童每天如果购进的报纸太少,不够卖时会少赚钱,如果购得太多卖不完时要赔钱。报纸每捆得太多卖不完时要赔钱。报纸每捆1010张,只能整捆购买,报张,只能整捆购买,报纸可以分为纸可以分为3 3种类型的新闻日:好、一般、差,它们的概率种类型的新闻日:好、一般、差,它们的概率分别为分别为0.35,0.450.35,0.45和和0.20.2。新闻种类新闻种类出现概

29、率出现概率对应的随机数区间对应的随机数区间好新闻好新闻0.350.35(0.00,0.35)(0.00,0.35)一般新闻一般新闻0.450.450.35,0.80)0.35,0.80)差新闻差新闻0.200.200.80,1.00)0.80,1.00)需求量需求量好新闻的需求概率好新闻的需求概率一般新闻的需求概率一般新闻的需求概率 差新闻的需求概率差新闻的需求概率40400.030.030.100.100.440.4450500.050.050.180.180.22 0.22 60600.150.150.400.400.160.1670700.200.200.200.200.120.1280

30、800.350.350.080.080.060.0690900.150.150.040.040.000.001001000.070.070.000.000.000.00试确定每天报童应该订购的报纸数量,以求获取的利润最大。试确定每天报童应该订购的报纸数量,以求获取的利润最大。随着报纸的需求量的不同,对各类新闻的需求概率分布的统随着报纸的需求量的不同,对各类新闻的需求概率分布的统计如下图:计如下图:最优策略是每天的利润最大:利润最优策略是每天的利润最大:利润= =销售收入销售收入- -报纸成本报纸成本- -损损失失+ +残值。应先确定各种情况的随机数的对应关系,如:残值。应先确定各种情况的随机数的对应关系,如:新闻种类新闻种类出现概率出现概率对应的随机数区间对应的随机数区间好新闻好新闻0.350.35(0.00,0.35)(0.00,0.35)一般新闻一般新闻0.450.450.35,0.80)0.35,0.80)差新闻差新闻0.200.200.80,1.00)0.80,1.00)计算机仿真的流程:计算机仿真的流程:1 1)令每天的报纸订购数变化从)令每天的报纸订购数变化从4040到到100100,令天数从,令天数从1 1开始变化开始变化(循环)到(循环)到36

温馨提示

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

评论

0/150

提交评论