一、原理
先用蒙特卡洛方法算出概率,然后再乘以矩形面积算出定积分
二、代码
import random
print("{0:=>30}".format("使用蒙特卡洛模拟计算定积分"))
# 设置实验次数
number = 1000
# 设置实验计数
count = 0.0
# 遍历i
for i in range(1, number + 1):
# uniform() 方法将随机生成下一个实数,它在[x,y]范围内。
# ① 设置一个矩形
# x轴的范围(也是定积分的上限、下限的范围)
x = random.uniform(-1.0, 3.0)
# y轴的范围
y = random.uniform(0, 4.0)
# 写f(x)函数
function = abs(x - 2)
# 判断y在不在function到x轴之间的范围内
if y <= function:
count += 1
# ②求定积分
# 定积分的数值=概率*矩形的面积
data = (count / number) * 4 * 4
# 打印数值
print("定积分等于{data}".format(data=data))