Python-蒙特卡罗应用

本文介绍了使用Python的蒙特卡罗方法解决三个问题:求解定积分,包括一个具体函数的积分和自定义函数的积分,并详细描述了任务要求;同时,还运用该方法求解圆周率,所有结果均保留了指定的小数位数。
摘要由CSDN通过智能技术生成

第1关:蒙特卡洛方法求定积分一

任务描述

本关任务:用蒙特卡罗方法求函数f(x)=(x/25+1/5),在区间[a,b]中定积分。假设a=0,b=1,即求

 

要求将函数f(x)定义为匿名函数,求出的积分保留5位小数,a,b的值可以自定义。

import numpy as np
#将积分函数f定义成匿名函数
# # # # # # # # # # #begin # # # # # # # # # # # #
f = lambda x: x / 25 + 1 / 5

# # # # # # # # # # #end # # # # # # # # # # # # # #
#在一行输入积分区间【 a, b】 和实验点数n, 用空格分隔
# # # # # # # # # # # # # # # # # #begin # # # # # # # # # # # # # # #
m = input()
m = list(map(int, m.split()))

a = int(m[0])

b = int(m[1])
n = int(m[2])
# # # # # # # # # # # # # # # # # # #end # # # # # # # # # # # # # # # #
#矩形区域为:[a, b, fmin, fmax], 矩形面积 = (b - a) * (fmax - fim)
fmin = 0
fmax = f(b)
np.random.seed(0)
#利用均匀分布产生n个在【 
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值