import random
class mc:
def __init__(self,a):
self.a= int(a)
def mc(self):
n = 0
x1,x2 = 0.0,1.0
y1,y2 = 0.0,1.0
for i in range(self.a):
x = random.uniform(x1,x2)
y = random.uniform(y1,y2)
if ((x*x*x)>=y):
n += 1
return (n/self.a)
result = mc(1000)
print("当自变量在0~1范围内时,该函数下方面积为:",result.mc())
数据挖掘实验一(蒙特卡洛求面积)
于 2023-04-01 16:52:13 首次发布
该代码定义了一个名为mc的类,用于使用MonteCarlo方法估算函数在0到1范围内的积分。初始化时接收一个参数a,代表模拟次数。内部循环生成随机数对(x,y),并根据条件判断是否增加计数n。最后返回模拟结果的平均值,即积分的近似值。
摘要由CSDN通过智能技术生成