题目:
思路:首先,自我学习蒙特卡洛法的原理;
用随机生成的点来计算比值,落到所求函数区域内的,就是我们需要的点。
python代码为:
import random
import math
N = 10000000
C = 0
for i in range(N):
x = random.uniform(2.0,3.0)
y = random.uniform(0.0,12.3)
if y <= x**2 + 4*x*math.sin(x):
C += 1
I = C / N * 12.3
print(format(I,'.4f'))
(我假设最高点不超过12.3)
图像如下:
运行结果为(每次不一定一样):
结束