【求帮助】用蒙特卡洛模拟法求概率
本帖最后由 oriwqz 于 2013-12-3 22:13 编辑将一个方块用坐标划分,向其中投掷飞镖100,0000次,问飞镖落在奇数区域的概率?
谁教我怎么表示区域3,谢谢。
这儿有一个圆的例子,麻烦看帖的人了:
http://632977922.blog.51cto.com/6231950/1324195
好高端的问题啊!目测楼主是学数学的。这个涉及到概率知识。。和计算机的关系不大。如果把数学求解过程罗列出来,或许我可以试试用程序来实现。。。:shock: 本帖最后由 oriwqz 于 2013-12-3 21:54 编辑
E=MC2 发表于 2013-12-3 21:48 static/image/common/back.gif
好高端的问题啊!目测楼主是学数学的。这个涉及到概率知识。。和计算机的关系不大。如果把数学求解过程罗列 ...
初学 Java,电子书上的习题。:sad 分成四等份,每份为1
那么落在1的概率P1=1/4;
落在3的概率P3=(1/4)X(1/2)=1/8;
呢么落在奇数的概率:P奇=1/4+1/8=3/8 此处略缺三万 发表于 2013-12-3 21:54 static/image/common/back.gif
分成四等份,每份为1
那么落在1的概率P1=1/4;
落在3的概率P3=(1/4)X(1/2)=1/8;
谢谢你回答,可是该怎么表示区域3呢? 以图b为例:
用1-8表示这个四个象限,用1,2表示第一象限(那么此处可让1表示"3"区域,2表示"2"区域,),3,4表示第二象限,5,6表示"3区域"(第三象限),7,8表示"4"区域(第四象限).
用生成随机数(0-8)模拟投掷飞镖.
伪代码如下:
如果(生成随机数()==1(表示第3区域) || 生成随机数()==3或4(表示第1区域))
那么 次数+1
那么概率 P奇 =次数/1000000
本帖最后由 oriwqz 于 2013-12-3 22:32 编辑
此处略缺三万 发表于 2013-12-3 22:15 static/image/common/back.gif
以图b为例:
用1-8表示这个四个象限,用1,2表示第一象限(那么此处可让1表示"3"区域,2表示"2"区域,),3,4表示 ...
for (int i = 0; i < 1000000; i++) {
// 模拟坐标
double x = Math.random() * 2.0 - 1;
double y = Math.random() * 2.0 - 1;
// 区域1
if (x < 0)
count++;
// 区域3?
else if ((x <= 1 && x > 0) && (y <= 1 && y > 0)) {
}
}
页:
[1]