版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、例 在我方某前沿防守地域,敌人以一个炮排(含两门火炮)为单位对我方进行干扰和破 坏为躲避我方打击,敌方对其阵地进行了伪装并经常变换射击地点经过长期观察发现,我方指挥所对敌方目标的指示有50是准确的,而我方火力单位,在指示正确时, 有 1/3 的射击效果能毁伤敌人一门火炮,有 1/6 的射击效果能全部毁伤敌人火炮现在希望能用某种方式把我方将要对敌人实施的 20 次打击结果显现出来,确定有效 射击的比率及毁伤敌方火炮的平均值。使用蒙特卡洛方法模拟 50 次打击结果:function out1 out2 out3 out4=Msc(N)% N 开炮次数% out1 射中概率% out2 平均每次击中
2、次数% out3 击中敌人一门火炮的射击总数% out4 击中敌人 2 门火炮的射击总数k1=0;k2=0;k3=0;for i=1:Nx0=randperm(2)-1;y0=x0(1);if y0=1fprintf('第%d 次:指示正确 |',i);x1=randperm(6);y1=x1(1);if y1=1|y1=2|y1=3fprintf('第 %d 次:击中 0 炮 |',i);k1=k1+1;elseif y1=4|y1=5fprintf('第 %d 次:击中 1 炮 |',i);k2=k2+1;elsefprintf('第
3、 %d 次:击中 2 炮 |',i);k3=k3+1;endelsefprintf('第%d次:指示错误,击中0炮|',i);k1+1;endfprin tf('n');endout1=(k2+k3)/N;out2=(0*k1+k2+2*k3)/20;out3=k2/N;out4=k3/N;运行:1. out1 out2 out3 out4=Msc(50)结果:1. 第1次:指示正确|第1次:击中2炮|2. 第2次:指示错误,击中0炮|3. 第3次:指示错误,击中0炮|4. 第4次:指示正确|第4次:击中0炮|5. 第5次:指示错误,击中0炮|6. 第6
4、次:指示正确|第6次:击中1炮|7. 第7次:指示正确|第7次:击中0炮|8. 第8次:指示错误,击中0炮|9. 第9次:指示正确|第9次:击中2炮|10. 第10次:指示正确|第10次:击中1炮|11. 第11次:指示正确|第11次:击中1炮|12. 第12次:指示正确|第12次:击中2炮|13. 第13次:指示错误,击中0炮|14. 第14次:指示正确|第14次:击中1炮|15. 第15次:指示错误,击中0炮|16. 第16次:指示错误,击中0炮|17. 第17次:指示正确|第17次:击中0炮|18. 第18次:指示错误,击中0炮|第19次指示正确|第19次击中1炮|第20次指示错误,击中
5、 0炮|第21次指示正确|第21次击中0炮|第22次指示正确|第22次击中1炮|第23次指示正确|第23次击中0炮|第24次指示错误,击中 0炮|第25次指示正确|第25次击中1炮|第26次指示错误,击中 0炮|第27次指示正确|第27次击中1炮|第28次指示正确|第28次击中0炮|第29次指示正确|第29次击中0炮|第30次指示正确|第30次击中0炮|第31次指示错误,击中 0炮|第32次指示错误,击中 0炮|第33次指示正确|第33次击中0炮|第34次指示错误,击中 0炮|第35次指示正确|第35次击中0炮|第36次指示正确|第36次击中0炮|第37次指示错误,击中 0炮|第38次指示正确
6、|第38次击中0炮|第39次指示错误,击中 0炮|第40次指示正确|第40次击中0炮|第41次指示正确|第41次击中1炮|第42次指示正确|第42次击中0炮|第43次指示错误,击中 0炮|第44次指示正确|第44次击中1炮|第45次指示正确|第45次击中0炮|第46次指示错误,击中 0炮|第47次指示错误,击中 0炮|第48次指示错误,击中 0炮|第49次指示正确|第49次击中0炮|第50次指示正确|第50次击中1炮|out1 =19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46
7、.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.0.2800out2 =0.8500out3 =63.64. 0.220065.66.65. out4 =68.69.0.0600一位朋友说要贴出 Monte Carlo计算积分的源程序,我就随便做一个简单的吧,复杂的程序 完全可以从这个来演化,我想Monte Carlo积分的最大优势就在于高维积分,以及不规则区域,可以节约很多计算机时。下面只是演示一个 2重积分,可以扩展到 20维的只要添加相应的loop项。被积函数:exp(sqrt(xA2+yA2);x 上下限:xA2 < sin(y)
8、y 上下限:yA2<cos(x)1. % MONTE CARLO INT2. % by caoer3. clear all4. N =100000;5.5. x = 2*ra nd(N,1)-1;6. y = ran d(N,1);7. f = 0;9.fsq = 0;10.n = 0;11.for i=1:N12.if x(i)A2 <si n( y(i) & y(i)A2<cos(x(i)13.n=n+1;14.f=f+exp(sqrt(x(i)A2+y(i)A2);15.x_plot( n)=x(i);16.y_plot( n)=y(i);17.end18.end19.f = f/N;20. p=n/N;21. a = 2*1;22. I1 = f*a; %23. I2 = a*p; %interesting area24. I = 11/1225.25. plot(x_plot,y_plot,'o')复制代码蒙特卡洛法用于求积分时,与积分重数无关,这点非常重要。虽然四维以下的积分用蒙特卡洛法效率可能不如传统的一些数值积分方法,但是维数高的时候,蒙特卡洛法比传统方法要有效的多,而且实现起来也非常容易。可以说,计算高维积分是蒙特卡洛方法最成功和典型的应用。基本的蒙特卡洛法具有计算不可重复性的缺点。这里
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 紫胶蒸发工安全生产基础知识测试考核试卷含答案
- 调配香精配制工班组建设强化考核试卷含答案
- 快速预热对典型炼焦煤及其焦炭性质的影响研究
- 语文统编版一年级上册期中试卷全套
- 七年级数学学科线上教学方案
- 新人教版一年级数学下册教学活动安排计划
- 职高语文统编版一年级下册期中试卷
- 语文达标试卷统编版一年级上册期中
- 语文统编版一年级上册期末试卷有答案
- 造船厂主要机械设备及计划
- 纺粘针刺非织造布制作工操作知识考核试卷含答案
- 2025年国防军事动员教育知识竞赛题库及答案(共50题)
- 泛光照明施工安全措施方案
- KPS评分表模板及使用指南
- 2025年专利代理师资格真题及答案解析
- 养老院组织架构及岗位职责说明
- 2025年1月浙江省高考技术试卷真题(含答案)
- 两办关于进一步加强矿山安全生产意见
- 2025年湖南邵阳市中考物理考试真题及答案
- 广东中考化学三年(2023-2025)真题分类汇编:专题06 金属和金属矿物(解析版)
- 钢构消防车库施工方案
评论
0/150
提交评论