sldmwjy 发表于 2012-8-29 19:51

求一单位面积中两点距离的概率

在一个1100×1300的矩形区域,随机选取两点。求选取的两点间距离大于500的概率。
这题对我很重要,求助怎么解,答案是多少。谢谢啊~~~~

天使死神 发表于 2012-8-29 19:55

用蒙特卡洛模拟应该可以做

sldmwjy 发表于 2012-8-29 19:57

天使死神 发表于 2012-8-29 19:55 static/image/common/back.gif
用蒙特卡洛模拟应该可以做

没用过:(我毕业好多年了,这是工作中碰到的问题。能说的详细点吗?

zjz311 发表于 2012-8-29 21:40

本帖最后由 zjz311 于 2012-8-30 13:18 编辑

clear;
tic;
edge=;
n=0;
N=100000;
for i=1:N
    rng('shuffle');
    rn=rand(2,2);%产生2x2的随机数
    xy=bsxfun(@times,rn,edge);%转为1100x1300矩阵的内点
    if sqrt((xy(1,1)-xy(2,1))^2+(xy(1,2)-xy(2,2))^2)>500
        n=n+1;
    end
    disp(num2str(n/i));
end
p=n/N;
toc;

zjz311 发表于 2012-8-29 21:42

MATLAB代码
概率大概为0.106

sldmwjy 发表于 2012-8-29 21:49

谢谢楼上了。
A=∫∫  (500-x)(500-y) dxdy,积分区域是{0≤x≤1100,0≤y≤1300}
B=∫∫  (500-x)(500-y) dxdy,积分区域是{0≤x≤1100,0≤y≤1300}∩{x^2+y^2>500^2}

概率P=B/A
这么解对吗

zjz311 发表于 2012-8-30 08:53

sldmwjy 发表于 2012-8-29 21:49 static/image/common/back.gif
谢谢楼上了。
A=∫∫  (500-x)(500-y) dxdy,积分区域是{0≤x≤1100,0≤y≤1300}
B=∫∫  (500-x)(500-y ...

应该不对,不会这么简单的。:(

sldmwjy 发表于 2012-8-30 11:43

zjz311 发表于 2012-8-29 21:42 static/image/common/back.gif
MATLAB代码
概率大概为0.106

凭个人感觉结果偏小啊。是不是应该在0.5以上呢。:dizzy:

zjz311 发表于 2012-8-30 13:17

sldmwjy 发表于 2012-8-30 11:43 static/image/common/back.gif
凭个人感觉结果偏小啊。是不是应该在0.5以上呢。

我的代码写错啦!有个括号的位置不对!惭愧啊!:$

sldmwjy 发表于 2012-8-30 13:20

zjz311 发表于 2012-8-30 13:17 static/image/common/back.gif
我的代码写错啦!有个括号的位置不对!惭愧啊!

那再把正确的代码和计算结果发一次呗:loveliness:
页: [1] 2
查看完整版本: 求一单位面积中两点距离的概率