欢迎来到天天文库
浏览记录
ID:40885818
大小:32.99 KB
页数:5页
时间:2019-08-09
《蒙特卡洛方法模拟小例子》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、例 在我方某前沿防守地域,敌人以一个炮排(含两门火炮)为单位对我方进行干扰和破坏.为躲避我方打击,敌方对其阵地进行了伪装并经常变换射击地点. 经过长期观察发现,我方指挥所对敌方目标的指示有50%是准确的,而我方火力单位,在指示正确时,有1/3的射击效果能毁伤敌人一门火炮,有1/6的射击效果能全部毁伤敌人火炮. 现在希望能用某种方式把我方将要对敌人实施的20次打击结果显现出来,确定有效射击的比率及毁伤敌方火炮的平均值。 使用蒙特卡洛方法模拟50次打击结果:function[out1out2out3out4]=Msc(N)%N开炮次数%out1射中概率%out2平均每次击中
2、次数%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;elsefprintf('第%d次:击中2炮
12、
13、',i);k3=k3+1;endelsefprintf(
14、'第%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次:指示错误,击中0炮
29、
30、6.第6次:指示正确
31、
32、第6次:击中1炮
33、
34、7.第7次:指示正确
35、
36、第7次:击中0炮
37、
38、8.第8次:指示错误,击中0炮
39、
40、9.
41、第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.第18次:指示错误,击中0炮
72、
73、1.第19次:指示正确
74、
75、第19次:击中1炮
76、
77、2.第20次:指示错误,击中0炮
78、
79、3.第21次:指示正确
80、
81、第21次:击中0炮
82、
83、4.第22次:指示正
84、确
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、第30次:击中0炮
115、
116、13.第31次:指示错误,击中0炮
117、
118、14.第32次:指示错误,击中0炮
119、
120、15.第33次:指示正确
121、
122、第33次:击中0炮
123、
124、16.第34次:指示错误,击中0炮
125、
126、17.第35次:指示正确
127、
128、第35次
129、:击中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、第42次:击中0炮
154、
155、25.第43次:指示错误,击中0炮
156、
157、26.第44次:指示正确
158、
159、第44次:击中1炮
160、
161、27.第45次:指示正确
162、
163、第45次:击中0炮
164、
165、28.第46次:指示错误,击中0炮
166、
167、29.第47次:指示错误,击中0炮
168、
169、30.第48次:指示错误,击中0炮
170、
171、3
172、1.第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.out4=6.7. 0.0600一位朋友说要贴出MonteCarlo计算积分的源程序,我就随便做一个简单的吧,复杂的程序完全可以从这个来演化,我想MonteCarlo
此文档下载收益归作者所有