数学建模社区-数学中国

标题: 求一单位面积中两点距离的概率 [打印本页]

作者: sldmwjy    时间: 2012-8-29 19:51
标题: 求一单位面积中两点距离的概率
在一个1100×1300的矩形区域,随机选取两点。求选取的两点间距离大于500的概率。0 z- t' U& Y: i
这题对我很重要,求助怎么解,答案是多少。谢谢啊~~~~: X9 m) `/ B. F' w7 m2 r

作者: 天使死神    时间: 2012-8-29 19:55
用蒙特卡洛模拟应该可以做
作者: sldmwjy    时间: 2012-8-29 19:57
天使死神 发表于 2012-8-29 19:55 + a6 h* Z: d! v2 l8 U
用蒙特卡洛模拟应该可以做

5 X. A  \1 S! R0 b没用过我毕业好多年了,这是工作中碰到的问题。能说的详细点吗?
作者: zjz311    时间: 2012-8-29 21:40
本帖最后由 zjz311 于 2012-8-30 13:18 编辑
' R; X. `) H0 V7 }  k2 a
  1. clear;
    ( V& e; }7 G% A3 O: v
  2. tic;
    : B" k/ [; }! [& _0 s' e! m
  3. edge=[1100,1300];$ R: a+ f' v. h4 Y: L( ?  J
  4. n=0;2 [" y: N, _$ s, G5 J2 y8 U; \5 j+ `
  5. N=100000;
    " f1 q9 z% R9 C- \4 {0 @( \4 L2 s
  6. for i=1:N6 u' O0 U) ~2 b  Q  S) B3 T
  7.     rng('shuffle');
    ; }  H7 N* O* s( S5 P1 x1 W
  8.     rn=rand(2,2);%产生2x2的随机数6 \; v8 o1 X# E% f$ f; C: k
  9.     xy=bsxfun(@times,rn,edge);%转为1100x1300矩阵的内点: A- C, Z* T9 s" ^$ d1 h
  10.     if sqrt((xy(1,1)-xy(2,1))^2+(xy(1,2)-xy(2,2))^2)>500
    1 O! V# U! l" m
  11.         n=n+1;0 f" b& X  a! A: X( |
  12.     end. i- Y  `/ h! A. z) f
  13.     disp(num2str(n/i));
    5 S" J8 ]/ f8 M3 M, q
  14. end( L4 @/ e7 q5 e5 F* y3 F
  15. p=n/N;
    . u7 a" \+ {2 _4 N# S
  16. toc;
复制代码

作者: zjz311    时间: 2012-8-29 21:42
MATLAB代码- o  O( T' C7 [+ v$ j
概率大概为0.106
作者: sldmwjy    时间: 2012-8-29 21:49
谢谢楼上了。1 M6 m  A+ K* X; d' b
A=∫∫  (500-x)(500-y) dxdy,积分区域是{0≤x≤1100,0≤y≤1300}
( g3 R+ b; K0 X7 |  i+ y; ?B=∫∫  (500-x)(500-y) dxdy,积分区域是{0≤x≤1100,0≤y≤1300}∩{x^2+y^2>500^2}0 ^' |9 r; B, [" Q5 x

! Q# n- f6 z# M! k概率P=B/A
( P) S" r$ c0 I* C这么解对吗
作者: zjz311    时间: 2012-8-30 08:53
sldmwjy 发表于 2012-8-29 21:49 4 @, Z& r6 o% y" ]- j# o
谢谢楼上了。3 Q0 k7 H# r7 l7 X/ l
A=∫∫  (500-x)(500-y) dxdy,积分区域是{0≤x≤1100,0≤y≤1300}
  ?& N9 |- O  mB=∫∫  (500-x)(500-y ...

- s6 c* i8 R: ?; V$ T" G/ g  Y% `3 a应该不对,不会这么简单的。
作者: sldmwjy    时间: 2012-8-30 11:43
zjz311 发表于 2012-8-29 21:42 - n9 a6 e8 i' l
MATLAB代码
$ N4 g& E! r  ^; @7 W& K. }8 M概率大概为0.106

& U  E" x9 z" i5 u. p* j9 [% Y: x' M凭个人感觉结果偏小啊。是不是应该在0.5以上呢。
作者: zjz311    时间: 2012-8-30 13:17
sldmwjy 发表于 2012-8-30 11:43 # M3 O$ ^' j- Q! V( N+ `
凭个人感觉结果偏小啊。是不是应该在0.5以上呢。
: Q9 F* q4 \/ E' p( v* v
我的代码写错啦!有个括号的位置不对!惭愧啊!
作者: sldmwjy    时间: 2012-8-30 13:20
zjz311 发表于 2012-8-30 13:17
1 K! {  [# L' p, ?6 E& B" \3 {我的代码写错啦!有个括号的位置不对!惭愧啊!

' {  I/ O* u- {& P  R: D那再把正确的代码和计算结果发一次呗
作者: zjz311    时间: 2012-8-30 13:23
本帖最后由 zjz311 于 2012-8-30 13:25 编辑
: o, Y% S1 m5 a
- r) Q; \7 h7 I! R+ O修改过后,概率 P∈(0.628,0.632).
作者: zjz311    时间: 2012-8-30 13:24
现在的代码是正确的。
作者: sldmwjy    时间: 2012-8-30 13:48
zjz311 发表于 2012-8-30 13:24
) @$ L1 @" x1 y7 p. i% G现在的代码是正确的。
# t  K6 J3 O2 g# r
真是太谢谢了。我估算的是0.65,比较接近。$ u9 d% S4 G! J
要是能精确到小数点后3位或4位就好了。
% Q+ W* M, n) w5 Z: }; o也想知道用公式计算出来的精确结果。
作者: zjz311    时间: 2012-8-30 15:09
sldmwjy 发表于 2012-8-30 13:48 ; J0 g- a4 s$ g7 w* ?: G" p: `
真是太谢谢了。我估算的是0.65,比较接近。
9 ~% W. L! Z  K% l% b  g; l要是能精确到小数点后3位或4位就好了。
7 C. h" b7 R& s" |也想知道用公式计算 ...

0 q' Q$ G7 U* h9 o! i0 \9 N, H精确结果我是不会啊,要想把概率精确到小数点后3位或4位,matlab要跑好长时间。




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5