markfang2050 发表于 2020-5-1 17:51:35

在椭圆x^2/4+y^2/9=1中均匀分布的点中随机取一点,求此点到椭圆中心的平均距离

在椭圆x^2/4+y^2/9=1中均匀分布的点中随机取一点,求此点到椭圆中心的平均距离

markfang2050 发表于 2020-5-1 18:33:44

随机点到椭圆中心的距离期望=1.81949329。

补充内容 (2020-5-2 23:26):
--------------------------------------------------
1196476次有效蒙特卡洛实验,椭圆x^2/4+y^2/9=1内部均匀随机取一点,随机点到椭圆中心的距离期望=1.81819372。
--------------------------------------------------
python3.7程序运行 5.983809947967529 秒。

mathematica 发表于 2020-5-2 11:02:11

我怎么感觉这是个二重积分问题!

wayne 发表于 2020-5-2 14:31:38

参考 https://bbs.emath.ac.cn/thread-17236-1-1.html
在某区域 内均匀取点, 该区域是面积,所以概率得用面积比来表达, 代表椭圆的长轴点 离圆心距离为$0<r<1$的地方取到点的概率,用面积比即是 ${abr* 4ar E(e^2) dr}/{\pi ab} $, 然后总体的期望值就是对所有的微元求和 . 得到$ \frac{4 a E(5/9)}{3 \pi } =1.68338$

markfang2050 发表于 2020-5-2 14:32:52

wayne 发表于 2020-5-2 14:31
参考 https://bbs.emath.ac.cn/thread-17236-1-1.html
在某区域 内均匀取点, 该区域是面积,所以概率得用面 ...

嘿嘿

wayne 发表于 2020-5-3 00:32:59

这楼主啊,真是有点欠揍...看这楼主一副高高在上,自以为很对的样子, 就 写了点代码, 开12核 随机模拟一下, 跑10^7次,目测运行大概10s的时间,然后统计 有7854454 次命中在 椭圆内[命中的概率也刚好是符合预期的$\pi/4$的概率].期望值是 1.68346 , 与前面的计算 结果 $\frac{4 E(5/9)}{\pi } =1.68338$ 完全吻合. 代码如下,拿走不谢哈.
nNumber=10^6;{a,b}={3,2};
ans=ParallelSum {Norm[{x,y}],1}/.Thread[{x,y}->{RandomReal[{-a,a}],RandomReal[{-b,b}]}],{nNumber}];
Divide@@ans题外话: 要是诚心跟人交流呢,就应该放出自己支撑2楼结论的代码, 还有自己的解答步骤, 是马是骡子,就看得很清楚了,对不? 不然没人有耐心跟你 做这种一道又一道重复的题目,还挨刀子.
..

markfang2050 发表于 2020-5-3 09:19:27

wayne 发表于 2020-5-3 00:32
这楼主啊,真是有点欠揍...看这楼主一副高高在上,自以为很对的样子, 就 写了点代码, 开12核 随机模拟一下,...

--------------------------------------------------
1046365次有效蒙特卡洛实验,椭圆x^2/4+y^2/9=1内部均匀随机点到椭圆中心的距离期望=1.68354928。
--------------------------------------------------
python3.7程序运行 6.167428493499756 秒。
--------------------------------------------------

*@wayne,前面我算错啦。看成椭圆x^2/4+y^2/16=1;
{RandomReal[{-b,b}],RandomReal[{-b,b}才是均匀随机。

markfang2050 发表于 2020-5-3 09:25:38

a=2;#x
b=3;#y
N=2000000;#200万次实验
L=0
j=0
for i in range(1,N+1):# range函数控制循环N次实验

x1=random.uniform(-b,b)#A点,x1,y1,圆心坐标(0,0)
y1=random.uniform(-b,b)#随机数均匀性用正方形来过滤排除

if (x1-0)**2/4+(y1-0)**2/9<1 :#椭圆内部
      M=sqrt((x1-0)**2+(y1-0)**2)
      L=L+M
      j+=1#有效实验次数

print ("%d次有效蒙特卡洛实验,椭圆x^2/%d+y^2/%d=1内部均匀随机点到椭圆中心的距离期望=%0.8f。"%(j,a*a,b*b,float(L/j)))

wayne 发表于 2020-5-3 09:37:21

markfang2050 发表于 2020-5-3 09:25
a=2;#x
b=3;#y
N=2000000;#200万次实验
随机数均匀性用正方形来过滤排除 , 这是 什么乱七八糟的, 长方形就不是均匀性了?

markfang2050 发表于 2020-5-3 09:39:22

wayne 发表于 2020-5-3 09:37
随机数均匀性用正方形来过滤排除 , 这是 什么乱七八糟的, 长方形就不是均匀性了?

是的。
页: [1] 2 3
查看完整版本: 在椭圆x^2/4+y^2/9=1中均匀分布的点中随机取一点,求此点到椭圆中心的平均距离