欢迎来到天天文库
浏览记录
ID:55156755
大小:23.77 KB
页数:5页
时间:2020-04-29
《蒙特卡洛方法模拟小例子.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、例 在我方某前沿防守地域,敌人以一个炮排(含两门火炮)为单位对我方进行干扰和破坏.为躲避我方打击,敌方对其阵地进行了伪装并经常变换射击地点. 经过长期观察发现,我方指挥所对敌方目标的指示有50%是准确的,而我方火力单位,在指示正确时,有1/3的射击效果能毁伤敌人一门火炮,有1/6的射击效果能全部毁伤敌人火炮. 现在希望能用某种方式把我方将要对敌人实施的20次打击结果显现出来,确定有效射击的比率及毁伤敌方火炮的平均值。 使用蒙特卡洛方法模拟50次打击结果:function[out1out2out3out4]=Msc(N)%N开
2、炮次数%out1射中概率%out2平均每次击中次数%out3击中敌人一门火炮的射击总数%out4击中敌人2门火炮的射击总数k1=0;k2=0;k3=0;fori=1:Nx0=randperm(2)-1;y0=x0(1);ify0==1fprintf('第%d次:指示正确
3、
4、',i);x1=randperm(6);y1=x1(1);ify1==1
5、y1==2
6、y1==3fprintf('第%d次:击中0炮
7、
8、',i);k1=k1+1;elseify1==4
9、y1==5fprintf('第%d次:击中1炮
10、
11、',i);k2=k2+1;elsefp
12、rintf('第%d次:击中2炮
13、
14、',i);k3=k3+1;endelsefprintf('第%d次:指示错误,击中0炮
15、
16、',i);k1+1;endfprintf('');endout1=(k2+k3)/N;out2=(0*k1+k2+2*k3)/20;out3=k2/N;out4=k3/N;运行:1.[out1out2out3out4]=Msc(50)结果:1.第1次:指示正确
17、
18、第1次:击中2炮
19、
20、2.第2次:指示错误,击中0炮
21、
22、3.第3次:指示错误,击中0炮
23、
24、4.第4次:指示正确
25、
26、第4次:击中0炮
27、
28、5.第5次:指示错误,
29、击中0炮
30、
31、6.第6次:指示正确
32、
33、第6次:击中1炮
34、
35、7.第7次:指示正确
36、
37、第7次:击中0炮
38、
39、8.第8次:指示错误,击中0炮
40、
41、9.第9次:指示正确
42、
43、第9次:击中2炮
44、
45、10.第10次:指示正确
46、
47、第10次:击中1炮
48、
49、11.第11次:指示正确
50、
51、第11次:击中1炮
52、
53、12.第12次:指示正确
54、
55、第12次:击中2炮
56、
57、13.第13次:指示错误,击中0炮
58、
59、14.第14次:指示正确
60、
61、第14次:击中1炮
62、
63、15.第15次:指示错误,击中0炮
64、
65、16.第16次:指示错误,击中0炮
66、
67、17.第17次:指示正确
68、
69、第17次:击中0炮
70、
71、18.
72、第18次:指示错误,击中0炮
73、
74、1.第19次:指示正确
75、
76、第19次:击中1炮
77、
78、2.第20次:指示错误,击中0炮
79、
80、3.第21次:指示正确
81、
82、第21次:击中0炮
83、
84、4.第22次:指示正确
85、
86、第22次:击中1炮
87、
88、5.第23次:指示正确
89、
90、第23次:击中0炮
91、
92、6.第24次:指示错误,击中0炮
93、
94、7.第25次:指示正确
95、
96、第25次:击中1炮
97、
98、8.第26次:指示错误,击中0炮
99、
100、9.第27次:指示正确
101、
102、第27次:击中1炮
103、
104、10.第28次:指示正确
105、
106、第28次:击中0炮
107、
108、11.第29次:指示正确
109、
110、第29次:击中0炮
111、
112、12.第30次:指示
113、正确
114、
115、第30次:击中0炮
116、
117、13.第31次:指示错误,击中0炮
118、
119、14.第32次:指示错误,击中0炮
120、
121、15.第33次:指示正确
122、
123、第33次:击中0炮
124、
125、16.第34次:指示错误,击中0炮
126、
127、17.第35次:指示正确
128、
129、第35次:击中0炮
130、
131、18.第36次:指示正确
132、
133、第36次:击中0炮
134、
135、19.第37次:指示错误,击中0炮
136、
137、20.第38次:指示正确
138、
139、第38次:击中0炮
140、
141、21.第39次:指示错误,击中0炮
142、
143、22.第40次:指示正确
144、
145、第40次:击中0炮
146、
147、23.第41次:指示正确
148、
149、第41次:击中1炮
150、
151、24.第42次:指示正确
152、
153、
154、第42次:击中0炮
155、
156、25.第43次:指示错误,击中0炮
157、
158、26.第44次:指示正确
159、
160、第44次:击中1炮
161、
162、27.第45次:指示正确
163、
164、第45次:击中0炮
165、
166、28.第46次:指示错误,击中0炮
167、
168、29.第47次:指示错误,击中0炮
169、
170、30.第48次:指示错误,击中0炮
171、
172、31.第49次:指示正确
173、
174、第49次:击中0炮
175、
176、32.第50次:指示正确
177、
178、第50次:击中1炮
179、
180、33.34.out1=35.36. 0.280037.38.39.out2=40.41. 0.850042.43.44.out3=1.2. 0.22003.4.5.ou
181、t4=6.7. 0.0600一位朋友说要贴出MonteCarlo计算积分的源程序,我就随便做一个简单的吧,复杂的程序完全可以从这个来演化,我想MonteCarlo
此文档下载收益归作者所有