蒙特卡洛法(随机取样法)

y=x^2、y = 12 − x与x 轴 在第一象限围成一个曲边三角形。设计一个随机试验,求该图像面积的近似值。

解: 设计的随机试验思想如下:在矩形区域 [0, 12] * [0, 9] 上产生服从均匀分布的 10^6 个随机点,统计随机点落在曲边三角形的频数,则曲边三角形的面积近似为上述矩形面积乘于频率。

代码

import random
#random.random()产生的是0~1的随机数
x = [random.random() * 12 for i in range(0, 10**6)]
y = [random.random() * 9 for i in range(0, 10**6)]

p = 0
for i in range(0, 10**6):
    if x[i] <= 3 and y[i] < x[i] ** 2:
        p += 1
    elif x[i] > 3 and y[i] < 12 - x[i]:
        p += 1

res = 12 * 9 * p / 10 ** 6
print(res)

结果为49.469292。

你可能感兴趣的:(Python,数据分析及可视化,random,python,数据可视化)