美文网首页
随机弦之长

随机弦之长

作者: 自色悟空 | 来源:发表于2017-06-30 15:56 被阅读0次

题目:

在一个半径为r的圆中,随机选取一条弦,则这条弦的弦长c比半径r长的概率是多少?
![](http://7xl5w6.com1.z0.glb.clouddn.com/20170630141217.png? imageView2/1/w/600/h/400/format/webp/q/75|watermark/2/text/5oKf56m6/font/5b6u6L2v6ZuF6buR/fontsize/320/fill/IzAwMDAwMA==/dissolve/100/gravity/SouthEast/dx/10/dy/10|imageslim)


分析一:

先在圆上随机选取一点A,再在圆上随机选取另一点A',则线段AA'即为所选取的弦。


选定点A后,需满足AA' >= r,即∠A'CA不小于π/6,因此P = 1 - ((π/6) * 2) / π = 1 - 1/3 = 2/3
import random
import math

r = 1

def random_point():
    while True:
        rho = random.uniform(0, math.pi * 2)

        x = r * math.cos(rho)
        y = r * math.sin(rho)

        return x, y

def main():
    c = (math.sqrt(3) / 2) * r
    
    acc = 0;
    acc_exceed = 0
    while acc < 10000:
        x1, y1 = random_point()
        x2, y2 = random_point()

        d = math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2)
        if d >= r:
            acc_exceed += 1
        acc += 1

    print float(acc_exceed) / float(acc)

if __name__ == '__main__':
    main()

分析二:

先在圆内随机选取一点E,以此点作为弦的中点,过点E作一条直线,且垂直于点E与圆心O的连线,与圆相交得所选取的弦。


若弦长c小于半径r,则有c2 <= (AC2 - d2) / 4 ,得c’ = (厂3)r/2。当点E在半径为c’圆内时,构成的弦则满足题目要求,于是可以用圆的面积来求概率,得P = π*c'*c' / π*r*r = 3/4
import random
import math

r = 1

def random_point():
    while True:
        x = random.uniform(0, r)
        y = random.uniform(0, r)

        d = math.sqrt(x*x + y*y)
        if d <= r:
            return d

def main():
    c = (math.sqrt(3) / 2) * r
    
    acc = 0
    acc_exceed = 0
    while acc < 10000:
        d = random_point()
        if d <= c:
            acc_exceed += 1
        acc += 1

    print float(acc_exceed) / float(acc)

if __name__ == '__main__':
    main()

分析三:

弦距离圆心的长度d的取值范围为[0, r),随机生成弦到圆心的距离d,再由此作弦。


假设距离d[0, 1)上服从均匀分布,那么概率为P = (厂3) / 2
import random
import math

r = 1

def random_point():
    return random.uniform(0, r)

def main():
    c = (math.sqrt(3) / 2) * r
    
    acc = 0;
    acc_exceed = 0
    while acc < 1000000:
        d = random_point()
        if d <= c:
            acc_exceed += 1
        acc += 1

    print float(acc_exceed) / float(acc)

if __name__ == '__main__':
    main()

做完这道题,不由得发问:为什么选择不同的随机选取方式,结果会有这么大的差异呢?这三种随机选取方式的本质不同又是什么呢?

相关文章

  • 随机弦之长

    题目: 在一个半径为r的圆中,随机选取一条弦,则这条弦的弦长c比半径r长的概率是多少?![](http://7xl...

  • 《数学如是观》系列之G大调的正弦函数

    莱布尼茨曾说:“音乐,是人类精神通过无意识计算而获得的愉悦享受。”毕达哥拉斯发现七弦琴音高取决弦之长度,当弦长成整...

  • 欣赏现代诗歌《狼之独步》纪弦

    《狼之独步》纪弦 我乃旷野里独来独往的一匹狼。 不是先知,没有半个字的叹息。 而恒以数声凄厉已极之长嗥 摇撼彼空无...

  • 狼之独步

    ——纪弦 我乃旷野里独来独往的一匹狼 不是先知,没有半个字的叹息 而恒以数声凄厉已极之长嗥 摇撼彼空无一物之天地 ...

  • 中国智谋40例:应变-应对大全(一)

    中国智谋40例:应变-应对大全(一) 1、随机应变,弦高献牛退秦师 【原典】 公元前630 年,秦国和晋国围攻郑国...

  • 拂剑集7

    拂剑集7 于荆棘之丛发见远途的天使之翼,高山大川逝于时光之长河,白昼证实它的巍峨伟岸,黑夜里依然如是。清亮的一弦明...

  • 人都该有两计之长

    人都该有两计之长 一技之长用于谋生 另一技之长用于悦己

  • 2022-06-25

    五线记谱法 1,弦名、空弦、泛音 一~一弦 二~二弦 三~三弦 四~四弦 五~五弦 六~六弦 七~七弦

  • 揚上司之长,揚同事之长

    最近有个新订单,把三件不同的产品包装在一起出售,订单所属服装部分的质量管理由我负责,但是牵涉到其他部门的标准和质量...

  • 清音弦中弦

    清音弦中弦,一念一心弦,一弦一心禅,请君侧耳听,细听清音弦。 清音第一弦,一念一心禅,指尖轻敲,触我心田,心缘,禅...

网友评论

      本文标题:随机弦之长

      本文链接:https://www.haomeiwen.com/subject/mtqucxtx.html